slf4j與logback的結合使用

參考:http://my.oschina.net/ydsakyclguozi/blog/412240 html

1、logback的介紹 java

     Logback是由log4j創始人設計的又一個開源日誌組件。logback當前分紅三個模塊:logback-core,logback- classic和logback-access。logback-core是其它兩個模塊的基礎模塊。logback-classic是log4j的一個 改良版本。此外logback-classic完整實現SLF4J API使你能夠很方便地更換成其它日誌系統如log4j或JDK14 Logging。logback-access訪問模塊與Servlet容器集成提供經過Http來訪問日誌的功能。 Logback是要與SLF4J結合起來用兩個組件的官方網站以下: api

    logback的官方網站: http://logback.qos.ch app

    SLF4J的官方網站:http://www.slf4j.org 網站

2、組件 spa

Logback 分爲三個模塊:logback-core,logback-classic,logback-access。其中logback-core 是核心;logback-classic 改善了 log4j,且自身實現了 SLF4J API,因此即便用 Logback 你仍然能夠使用其餘的日誌實現,如原始的 Log4J,java.util.logging 等;logback-access 讓你方便的訪問日誌信息,如經過 http 的方式。 .net

3、引用配置 debug

一、 pom.xml文件: 設計

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.12</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
    <version>1.7.12</version> 
</dependency> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-core</artifactId> 
    <version>1.1.3</version> 
</dependency> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version>1.1.3</version> 
</dependency>

二、logback.xml 日誌

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <jmxConfigurator />
    <!-- 控制檯輸出日誌 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                %msg%n</pattern>
        </layout>
    </appender>
    <!-- 文件輸出日誌 (文件大小策略進行文件輸出,超過指定大小對文件備份) -->
    <appender name="FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>xxxx.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <FileNamePattern>xxxx.log.%i.bak</FileNamePattern>
            <MinIndex>1</MinIndex>
            <MaxIndex>12</MaxIndex>
        </rollingPolicy>
        <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>100MB</MaxFileSize>
        </triggeringPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                %msg%n</Pattern>
        </layout>
    </appender>
    <!--這裏指定logger name 是爲jmx設置日誌級別作鋪墊 -->
    <logger name="com.xxx.xxx">
        <level value="INFO" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </logger>
</configuration>

 

4、示例代碼

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 
class Bar { 
    Logger logger = LoggerFactory.getLogger(Bar.class); 
    public void doIt() {
        logger.debug("doing my job");
    }
}
相關文章
相關標籤/搜索