日志:slf4j+log4j+maven配置
代码的日志输出,前前后后折腾了我好几次。
本着会用,快速配置的原则,还是将配置过程记录下来,以便复用。
参考:http://blog.csdn.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-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!
清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己
-- 共勉