#DEBUG < INFO < WARN < ERROR < FATAL
#此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。
# 等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示
log4j.rootLogger=${log.level},console,daily
#log4j.appender定义名为console的输出端是哪种类型
#ConsoleAppender(控制台),DailyRollingFileAppender(每天产生一个日志文件),RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.console=org.apache.log4j.ConsoleAppender
#定义名为console的输出端的layout是哪种类型
#HTMLLayout(以HTML表格形式布局),PatternLayout(可以灵活地指定布局模式),SimpleLayout(包含日志信息的级别和信息字符串),TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern
#%m 输出代码中指定的消息
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%r 输出自应用启动到输出该log信息耗费的毫秒数
#%c 输出所属的类目,通常就是所在类的全名
#%t 输出产生该日志事件的线程名
#%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] %c - %m%n
log4j.appender.console.Encoding = UTF-8
log4j.appender.daily=org.apache.log4j.DailyRollingFileAppender
log4j.appender.daily.File=${catalina.base}/logs/urs-server.log
log4j.appender.daily.DatePattern='.'yyyy-MM-dd
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] %c - %m%n
log4j.appender.daily.Encoding = UTF-8
#log4j.logger可以配置不同的包下面的日志级别
log4j.logger.com.lianqian=${log.level}
log4j.logger.org.apache.ibatis=${log.level}
log4j.logger.org.apache.ibatis.jdbc.ScriptRunner=${log.level}
log4j.logger.org.apache.ibatis.datasource=${log.level}
log4j.logger.java.sql.Connection=${log.level}
log4j.logger.java.sql.Statement=${log.level}
log4j.logger.java.sql.PreparedStatement=${log.level}
log4j.logger.java.sql.ResultSet=${log.level}
针对是否打印数据库执行sql。只要设置所在的dao接口的包的日志级别为DEBUG。设置为TRACE可打印更多详细的执行信息,一般用不到。方法如下:
log4j.logger.com.test.dao=DEBUG