Java日誌的學習03--log4j 配置Spring JdbcTemplate已經MyBatis列印sql
阿新 • • 發佈:2018-12-20
今天接著說說如何在日誌中配置SQL列印輸出。
log4j的依賴新增
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.7</version> <scope>provided</scope> </dependency>
JdbcTemplate 列印sql配置
在log4j.properties
中新增如下配置:
log4j.rootLogger =stdout
log4j.appender.stdout= org.apache.log4j.ConsoleAppender
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=debug
這樣就可以列印sql,如果還需要跟蹤執行praparedStatement執行過程,新增引數,列印結果可以新增
#跟蹤執行praparedStatement執行過程,新增引數 log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=debug log4j.logger.java.sql.ResultSet = debug
原理:
在JdbcTemplate 類中有如下的程式碼,所以,日誌級別只能設定成debug
參考配置:
log4j.rootLogger =stdout log4j.appender.stdout= org.apache.log4j.ConsoleAppender log4j.appender.stdout.Threshold=debug log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n # 過濾掉第三方jar包的日誌 log4j.logger.org.springframework=warn log4j.logger.freemarker.cache=warn #sql日誌輸出 log4j.logger.org.springframework.jdbc.core.JdbcTemplate=debug #跟蹤執行praparedStatement執行過程,新增引數 log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=debug log4j.logger.java.sql.ResultSet = debug
效果如下:
MyBatis列印sql配置
如果是MyBatis的話
參考配置,在log4j.xml檔案中:
<configuration status="info">
<appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%-5level %d %logger{36} - %msg%n" />
</Console>
</appenders>
<loggers>
<!--mapper介面所在的位置-->
<logger name="com.shop.hessian.mapper" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<root level="info">
<appender-ref ref="logfile" />
<!--sql列印可用-->
<appender-ref ref="STDOUT"/>
</root>
</loggers>
</configuration>
效果如下:
如果是SpringBoot 專案則可以直接在application.yml
新增如下配置即可:
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl