ssm-mybatis日誌和log4j
阿新 • • 發佈:2021-08-13
ssm-mybatis日誌和log4j
型別
mybatis日誌輸出配置,可以配置的型別有:- SLF4J
- LOG4J - 常用,需導包和配置
- LOG4J2
- JDK_LOGGING
- COMMONS_LOGGING
- STDOUT_LOGGING - 簡單,無額外配置,系統標準輸出
- NO_LOGGING
STDOUT_LOGGING
標準輸出配置比較簡單,只需要在mybatis配置檔案中,按照下圖所示配置即可:配置前後對比,可以看到配置後控制檯多了很多sql執行日誌:
但是這種方式沒有將日誌出書到檔案,下面使用logf4日誌將日誌輸出到檔案。
LOG4J
什麼是log4j?
Log4j是Apache的一個開源專案,通過使用Log4j,我們可以控制日誌資訊輸送的目的地是控制檯、檔案、GUI元件,甚至是套介面伺服器、NT的事件記錄器、UNIX Syslog守護程序等; 我們也可以控制每一條日誌的輸出格式; 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。 最令人感興趣的就是,這些可以通過一個配置檔案來靈活地進行配置,而不需要修改應用的程式碼。現在從簡單配置和mybatis配置說說log4j的使用。
簡單配置和demo
- 第一步:新增包依賴
- 第二步:配置log4j.properties 在resources目錄下,新建配置檔案
log4j.properties
#將等級為DEBUG的日誌資訊輸出到console和file這兩個目的地,console和file的定義在下面的程式碼 log4j.rootLogger=DEBUG,console,file #控制檯輸出的相關設定 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=[%p][%d{yy-MM-dd hh:mm:ss}][%c]%m%n #檔案輸出的相關設定 log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File=./log/myLog.log log4j.appender.file.MaxFileSize=10mb log4j.appender.file.Threshold=DEBUG log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd hh:mm:ss}][%c]%m%n #日誌輸出級別 log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
@Test
public void log4j(){
Logger logger = Logger.getLogger(this.getClass());
logger.debug("debug-除錯");
logger.info("info-資訊");
logger.warn("warn-警告");
logger.error("error-錯誤");
}
控制檯輸出:
日誌檔案輸出:
專案開發中,按照這個方式進行配置就可以解決大多數日誌問題。那怎麼在mybatis中配置log4j呢?
mybatis配置log4j
在上述配置的基礎上,將log4j配置到mybatis就非常簡單了,只需要在mybatis配置檔案中配置一行即可:分別在控制檯和日誌檔案中檢視mybatis日誌:
mybatis日誌配置和log4j按上面配置,差不過就夠用了。