Slf4j+Logback使用
一、下载组件:
    slf4j:http://www.slf4j.org/download.html
    logback:http://logback.qos.ch/download.html 
    Logback 分为三个模块:logback-core,logback-classic,logback-access
    logback-core 是核心;
    logback-classic 改善了 log4j,且自身实现了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志实现,如原始的 Log4J,java.util.logging 等;
    logback-access 让你方便的访问日志信息,如通过 http 的方式。
二、配置信息
    需要的配置文件和组件包,下面三个 jar 文件和一个 xml文件都是要放在项目的 ClassPath上
    slf4j-api-1.6.1.jar
    logback-classic-0.9.24.jar
    logback-core-0.9.24.jar
    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>
    
三、示例代码
1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 class TestLogback { 5 6 Logger logger = LoggerFactory.getLogger(TestLogback.class); 7 8 public void doIt() { 9 logger.debug("doing my job"); 10 } 11 }

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号