log4j-slf4j 典型用例

一、maven 配置

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.6</version>
</dependency>

 

二、 log4j 配置

log4j.rootLogger=INFO, console
# simple console log
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %p ~ %m%n
##
for jul logging log4j.logger.org.zales.dmo.samples.logging=TRACE,julAppender log4j.additivity.org.zales.dmo.samples.logging=false log4j.appender.julAppender=org.apache.log4j.ConsoleAppender log4j.appender.julAppender.layout=org.apache.log4j.PatternLayout log4j.appender.julAppender.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]--[%t] [%p] -%l - %m%n
##
for daily rolling log4j.logger.accesslog=INFO, accessRolling log4j.additivity.accesslog=false log4j.appender.accessRolling=org.apache.log4j.DailyRollingFileAppender log4j.appender.accessRolling.File=logs/access.log log4j.appender.accessRolling.DatePattern='.'yyyy-MM-dd log4j.appender.accessRolling.layout=org.apache.log4j.PatternLayout log4j.appender.accessRolling.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]--[%t] [%p] -%l - %m%n
##
for file size rolling log4j.logger.filemax=INFO, fileMaxRolling log4j.additivity.filemax=false log4j.appender.fileMaxRolling=org.apache.log4j.RollingFileAppender log4j.appenile.fileMaxRolling.Append = true log4j.appenile.fileMaxRolling.MaxFileSize = 5MB log4j.appenile.fileMaxRolling.MaxBackupIndex = 100 log4j.appender.fileMaxRolling.File=logs/filemax.log log4j.appender.fileMaxRolling.layout=org.apache.log4j.PatternLayout log4j.appender.fileMaxRolling.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]--[%t] [%p] -%l - %m%n

 

配置说明

  1. 禁用上溯 
    log4j.additivity.org.zales.dmo.samples.logging=false

  2. 日志格式 
    简单输出 
    log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %p ~ %m%n 
    详细输出 
    log4j.appender.julAppender.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]–[%t] [%p] -%l - %m%n

3.Pattern说明

-X号: X信息输出时左对齐;
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 221028921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个"%"字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

 

三、程序使用

private static final Logger logger = LoggerFactory.getLogger("xxx");
...

logger.info("xxx:{}, xxx:{}", id, name);

 

posted @ 2017-01-28 20:03  美码师  阅读(668)  评论(1编辑  收藏  举报