1丽焊、浩言
新年已始,往事歸零咕别,愛恨隨意技健。你不挽留,我不回頭惰拱。敬你一杯酒雌贱,從此朝前走。我干杯,你隨意欣孤。
2馋没、背景
改造后的項(xiàng)目,在打印sql語句的時(shí)候了导街,怎么都打印不出來披泪,因?yàn)橹暗捻?xiàng)目是自己添加jar的纤子,然后我該成maven搬瑰,只是引入了log4j的包,然后也配置了打印sql的配置控硼,怎么都打印不出來泽论,最后才發(fā)現(xiàn)是少了jar包。
3卡乾、日志打印
3.1翼悴、我加了兩個(gè)包,然后就解決了打印日志問題幔妨。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.22</version>
</dependency>
log4j.properties中的配置
### set log levels
log4j.rootLogger = debug,Console,stdout
#log4j.rootLogger = DEBUG,stdout,D,E
### 輸出到控制臺(tái) ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
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} [ %t:%r ] - [ %p ] %m%n
### 輸出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /data/logs/test/MbrApi.log
#log4j.appender.D.File = ${catalina.base}/logs/MbrApi.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 保存異常信息到單獨(dú)文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /data/logs/test/MbrApi-ERROR.log
#log4j.appender.E.File = ${catalina.base}/logs/MbrApi-ERROR.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
### 只輸出ERROR級(jí)別以上的日志 ###
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### mybatis
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
打印的sql如下:
Paste_Image.png
3.2 日志級(jí)別
我們的日志級(jí)別一般是info,所以當(dāng)你把上面的配置改成info那么就打印不了sql鹦赎,所以了log4j提供了可以指定mapper.xml中命名空間的打印方式
log4j.logger.com.mouse.moon.mapper.UserMapper=trace,userMapper.xml里面的sql將會(huì)打印,如果想指定所有的误堡,那么匹配包的公共部分
log4j.logger.com.mouse.moon=trace
trace是打印結(jié)果古话,也可以是debug
四:日志選擇
其實(shí)很多一直都在用log4j,其實(shí)現(xiàn)在并不建議使用log4j锁施,因?yàn)閘og4j的官網(wǎng)已經(jīng)沒有維護(hù)了陪踩,新的日志大部分都使用logback來進(jìn)行處理。對(duì)于高并發(fā)的悉抵,分布式的都會(huì)有日志系統(tǒng)來處理肩狂,之前看資料,會(huì)用消息隊(duì)列來處理日志姥饰,kafka來做傻谁。支持量比較大。
五:浩語
__
__ _ ____ __| |__ _____ ___
\ \/ \/ / | \ | \\__ \ / _ \
\ /| | / Y \/ __ \( <_> )
\/\_/ |____/|___| (____ /\____/
\/ \/
任何事情都是要靠努力和用心列粪。