日志:slf4j+log4j+maven配置

时间:2024-11-09 21:38:02

代码的日志输出,前前后后折腾了我好几次。

本着会用,快速配置的原则,还是将配置过程记录下来,以便复用。

参考:http://blog.****.net/anialy/article/details/8529188

1. 据说slf4j的效率比log4j的效率高,所以大体上采用slf4j来记录日志。

2. slf4j提供了一套api而log4j是具体的实现,所以想使用slf4j则需要具体实现slf4j的api。

  所以,log4j实现 + slf4j api ==> slf4j实现, 此过程采用了适配器模式。

3. 具体配置过程:

1) 添加maven依赖

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

会添加如下依赖:

日志:slf4j+log4j+maven配置

slf4j-api, log4j, slf4j-log4j  ==>  验证第2点。

2) classpath下添加log4j.properties

log4j.properties:

#config root logger
log4j.rootLogger = INFO,system.out
log4j.appender.system.out=org.apache.log4j.ConsoleAppender
log4j.appender.system.out.layout=org.apache.log4j.PatternLayout
log4j.appender.system.out.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n #config this Project.file logger
log4j.logger.thisProject.file=INFO,thisProject.file.out
log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender
log4j.appender.thisProject.file.out.File=logContentFile.log
log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout

3) 代码中设置Logger

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

Done!