mybatis+log4j+slf4j打印日志到控制台和日志文件

1、首先需要导入包,我这里列出我使用的版本:

log4j.1.2.17.jar、slf4j.api-1.7.25.jar、slf4j-log4j12-1.7.25.jar、commons-logging-1.1.3.jar。

2、日志需要配置文件,我这边在WEB-INF下面添加了一个名为log4j.properties的文件,配置信息如下:

log4j.rootLogger = INFO,root,stdout,busi1

#配置打印到控制台的相关配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] [method:%l]%n %m%n
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] %m%n

#配置打印到文件相关配置
log4j.appender.root=org.apache.log4j.RollingFileAppender
#打印的文件名称和文件位置
log4j.appender.root.File=C://SystemLogs/md.log
#日志文件保留个数
log4j.appender.root.MaxBackupIndex=100
#日志文件分割,每个日志文件大小
log4j.appender.root.MaxFileSize=5MB
#设置以追加形式打印
log4j.appender.root.Append=true
#日志格式
log4j.appender.root.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] %m%n
log4j.appender.root.layout=org.apache.log4j.PatternLayout
#作用域
log4j.logger.com.sysytem.dmcounter.dao=TRACE
log4j.logger.org.exam=INFO
log4j.logger.org.springframework.beans.factory=INFO
log4j.logger.java.sql=DEBUG

注:

1、ConsoleAppender是控制台输出、RollingFileAppender是文件大小到达指定尺寸的时候产生一个新的文件,除了这两个,还有其它配置,例:FileAppender生成一个日志文件、DailyRollingFileAppender每日生成一个日志文件等,需要的可以自行去搜索log4j配置。

2、作用域中log4j.logger.com.system.dmcounter.dao=TRACE,这里的com.system.dmcounter.dao是你mapper文件的接口,不懂的可如图寻找:

,也就是你的dao包的路径,如果你加上了后面的AbnormalEventManageDao,那么就只会针对这个mapper文件里面的sql进行打印。

3、log4j.appender.root.File是文件存储的位置,其余的看代码中的注释进行理解。

3、配置web.xml,下面这段代码最好放在你之前的配置上面,我之前试的时候,放在之前配置的下面,一直没有效果。



	log4jConfigLocation
	WEB-INF/log4j.properties




	log4jRefreshInterval
	10000




	org.springframework.web.util.Log4jConfigListener

mybatis+log4j+slf4j打印日志到控制台和日志文件_第1张图片

注:log4j.properties不一定要放到WEB-INF下,只要web.xml中配置的地址正确就行。

4、mybatis.xml配置

mybatis+log4j+slf4j打印日志到控制台和日志文件_第2张图片

在你的mybatis.xml中加上如下代码,如上图,加到最顶上。

如果你只想输出到控制台而不打印到文件中,就加如下代码:

5、测试结果如下:

mybatis+log4j+slf4j打印日志到控制台和日志文件_第3张图片

mybatis+log4j+slf4j打印日志到控制台和日志文件_第4张图片

如果想要打印出自己输出的信息

mybatis+log4j+slf4j打印日志到控制台和日志文件_第5张图片

Logger要引用 org.apache.log4j.Logger

调用:

结果如下:

你可能感兴趣的:(mybatis)