场景:一个项目中融合多个采用不同日志记录的框架。
不同的框架采用的默认日志框架不同,有些用的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