标签:
杂谈 |
1、所需日志jar包:
log4j-1.2.14.jar、slf4j-api-1.5.8.jar、slf4j-log4j12-1.5.8.jar(log4j与slf4j集成)
2、web.xml配置:
<!--log4j配置文件加载-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化-->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>1800000</param-value>
</context-param>
<!--spring
log4j监听器-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
3、log4j.properties日志配置:
# Set log levels
######################################
#
log4j配置相关说明
######################################
#%p
输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%r 输出自应用启动到输出该log信息耗费的毫秒数
#%c 输出所属的类目,通常就是所在类的全名
#%t 输出产生该日志事件的线程名
#%m 输出代码中指定的信息
#%n
输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
#%d
输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd
HH:mm:ss,SSS},输出类似: 2002年10月18日 22:10:28,921
#%l
输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
#log4j提供4种布局:
#org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息
#log4j中有五级logger 输出级别:
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7
######################################
#
log4j相关配置
######################################
#日志输出级别
log4j.rootLogger=INFO,stdout,LogFile
#设置stdout的日志输出控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#输出日志到控制台的方式,默认为System.out
log4j.appender.stdout.Target = System.out
#设置使用灵活布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#灵活定义输出格式
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p - [%c] %m%n
#设置LogFile的日志输出控制台
log4j.appender.LogFile=org.apache.log4j.DailyRollingFileAppender
#设置LogFile的输出日志
log4j.appender.LogFile.File=./logs/log.log
#设置LogFile的日志最大限制
#log4j.appender.LogFile.MaxFileSize=5120KB
log4j.appender.LogFile.DatePattern='.'yyyy-MM-dd
#最多只保存1000个备份文件
#log4j.appender.LogFile.MaxBackupIndex=1000
#输出INFO级别以上的日志
og4j.appender.LogFile.Threshold=INFO
og4j.appender.LogFile.Encoding=UTF-8
og4j.appender.LogFile.immediateFlush=true
#设置使用灵活布局
log4j.appender.LogFile.layout=org.apache.log4j.PatternLayout
#灵活定义输出格式
log4j.appender.LogFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p - [%c] %m%n
######################################
#
spring相关配置
######################################
log4j.logger.org.springframework=INFO
######################################
#
mybatis相关配置
######################################
log4j.logger.org.apache.ibatis=INFO
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=INFO
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=INFO
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=INFO
log4j.logger.org.mybatis=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.PreparedStatement=INFO
log4j.logger.java.sql.ResultSet=INFO
说明:mybatis打印日志是java.sql.Connection的级别,将该包日志级别设为DEBUG即可。