场景:一个项目中融合多个采用不同日志记录的框架。
不同的框架采用的默认日志框架不同,有些用的slf4j,有些用的log4j。
项目中我们需要统一控制日志的打印格式和打印级别。
方案:
将log4j和slf4j整合: 保留原本的log4j的jar包,删除slf4j-1.5.8.jar, 然后导入slf4j-api-1.5.8.jar和slf4j-log4j12-1.5.8.jar两个jar包, 这样就可以用log4j的配置来控制slf4j的打印了
其他日志框架同理,采用API,实现统一用log4j的即可
log4j.properties配置文件
#logger level default is INFO ##DEBUG < INFO < WARN < ERROR < FATAL log4j.rootLogger=info,console,file #append to console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout #2013-08-28 11:22:18,829 INFO|class(lineNum) | event log4j.appender.console.layout.ConversionPattern= %d %p|%C(%L) | %m%n #append to file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=log/zimpay.log log4j.appender.file.MaxFileSize=1MB log4j.appender.file.MaxBackupIndex=10000 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %p|%C(%L) | %m%n #ibatis/mybatis logger config log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug,stdout