1.log4j.propeties文件位置,如下图所示:
2.web.xml文件中加入log4j配置文件的监听器及初始化参数中配置文件路径,如下图所示:
3.在mybatis的配置文件中加入如下配置,
4.log4j.properties文件解析
#log4j基本配置
log4j.rootLogger=DEBUG,console,file
#设置输出控制台信息
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG #控制台只会打印INFO级别及以上的日志信息
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%c-%m%n
#设置输出文件信息
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log/mybatis.log #日志文件路径,在应用下的log/mybatis.log文件中
log4j.appender.file.Append=true #追加
log4j.appender.file.MaxFileSize=100mb #达到100m后产生一个新文件
log4j.appender.file.Threshold=ERROR #只会写ERROR级别及以上的日志信息
log4j.appender.file.layout=org.apache.log4j.PatternLayout #布局器
log4j.appender.file.layout.ConversionPattern=%c-%m%n #布局器格式
解析:1.log4j.rootLogger=[level],target1,target2,...
第一个参数level表示日志级别,由低到高为ALL,TRACE,DEBUG,INFO,WARN,FATAL,OFF,可以不设置,默认为 INFO, 这个日志级别相当于应用程序中所有类的日志信息的总开关,设置这个level后,默认只会打印大于等于这个级别的日志信息
第二、三个参数为日志输出位置,可以有控制台,文件,邮件等
2.log4j.appender.console.Threshold
Threshold属性可以设定自己可以介绍的日志级别,如:log4j.appender.console.Threshold=DEBUG ,控制台只会打印INFO级别及以上的日志信息
#########配置只打印mybatis的SQL信息###################
log4j.logger.com.mapper=DEBUG,console #打印mybatis的SQL信息到控制台,这里的console可以换为file等
log4j.additivity.com.mapper=false
# log4j的additivity属性: 表示子logger是否要在父logger的appender中输出日志,若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
我的Mapper接口和映射文件在com.mapper包下,这里log4j.logger子logger可以为特定的包或者类打开日志开关,会覆盖根logger设置的日志级别