07、mybatis日誌工廠
阿新 • • 發佈:2020-12-28
1、日誌
通過使用內建的日誌工廠提供日誌功能。內建日誌工廠將會把日誌工作委託給下面的實現之一:
SLF4J
LOG4J 【掌握】
LOG4J2
JDK_LOGGING:JDK記錄
COMMONS_LOGGING:日誌記錄
STDOUT_LOGGING :標準輸出記錄
NO_LOGGING:沒有記錄
日誌的使用:
<settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings>
結果:
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. Opening JDBC Connection Created connection 1995616381. Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@76f2b07d] ==> Preparing: /*根據id查詢使用者*/ select * from mybatis.user where id = ?; ==> Parameters: 1(Integer)<== Columns: id, name, pwd <== Row: 1, zhangsan, 123 <== Total: 1 User{id=1, name='zhangsan', pwd='123'} Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@76f2b07d] Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@76f2b07d] Returned connection 1995616381 to pool.
2、LOG4J
什麼是log4j:
- Log4j是Apache的一個開源專案,可以控制日誌資訊輸送的目的地是控制檯、檔案、GUI元件
- 我們也可以控制每一條日誌的輸出格式;
- 通過一個配置檔案來靈活地進行配置,而不需要修改應用的程式碼。
1、匯入log4j對應的jar包(依賴)
<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId><version>1.2.17</version> </dependency>
2、建立配置檔案
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=[%c]-%m%n
#檔案輸出的相關設定
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/zhixi.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}][%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
3、配置log4j日誌實現
<settings> <setting name="logImpl" value="LOG4J"/> </settings>
3、簡單使用:
1、在要使用log4j的類中引入類:import org.apache.log4j.Logger;
2、日誌物件,引數是當前類的class
static Logger logger = Logger.getLogger(IUserDaoTest.class);
3、使用:執行測試類即可自動新建日誌檔案
public class IUserDaoTest { static Logger logger = Logger.getLogger(IUserDaoTest.class); @Test public void getLogTest() { //列印資訊 logger.info("info:進入了testLog4j"); logger.debug("debug:進入了testLog4j"); logger.error("error :進入了testLog4j"); } }