slf4j+logback使用

来源:互联网 发布:电子相册的软件 编辑:程序博客网 时间:2024/06/08 17:59
一、下载组件: 

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

[html] view plain copy
 print?
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <configuration>  
  3.   <jmxConfigurator />  
  4.   <!-- 控制台输出日志 -->  
  5.   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
  6.     <layout class="ch.qos.logback.classic.PatternLayout">  
  7.       <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>  
  8.     </layout>  
  9.   </appender>  
  10.   <!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份)-->  
  11.   <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  12.     <File>xxxx.log</File>  
  13.     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">  
  14.       <FileNamePattern>xxxx.log.%i.bak</FileNamePattern>  
  15.       <MinIndex>1</MinIndex>  
  16.       <MaxIndex>12</MaxIndex>  
  17.     </rollingPolicy>  
  18.     <triggeringPolicy            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">  
  19.       <MaxFileSize>100MB</MaxFileSize>  
  20.     </triggeringPolicy>  
  21.     <layout class="ch.qos.logback.classic.PatternLayout">  
  22.       <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>  
  23.     </layout>  
  24.   </appender>  
  25.   <!--这里指定logger name 是为jmx设置日志级别做铺垫 -->  
  26.   <logger name="com.xxx.xxx">  
  27.     <level value="INFO" />  
  28.     <appender-ref ref="STDOUT" />  
  29.     <appender-ref ref="FILE" />  
  30.   </logger>  
  31. </configuration>  


三、示例代码

[java] view plain copy
 print?
  1. class Bar {     
  2.     
  3.     Logger logger = LoggerFactory.getLogger(Bar.class);     
  4.     
  5.     public void doIt() {     
  6.         logger.debug("doing my job");     
  7.     }     
  8. }  
原创粉丝点击