場景:項目開發(fā)中,為了方便調試和排查問題,需要打印sql日志,并且顯示sql中占位符所代表的參數;
第一種:如果只需簡單打印sql日志【一般使用】
spring:
jpa:
show-sql: true
第二種:需要打印詳細的sql日志【建議使用】
第一步:導入maven依賴
<!--打印sql日志-->
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
</dependency>
第二步:修改yml配置文件
spring:
datasource:
driverClassName: net.sf.log4jdbc.DriverSpy #或net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://localhost:3306/數據庫 #用于打印sql日志
#driver-class-name: com.mysql.cj.jdbc.Driver
#url: jdbc:mysql://localhost:3306/數據庫
username: root
password: 123456
第三步:啟動項目后執(zhí)行sql語句就可以看到sql日志打印出來了、、、
第四步:(以下配置看要求是否需要添加,不添加也可以)
1、在resources目錄新增log4jdbc.log4j2.properties文件并編輯內容文章來源:http://www.zghlxwxcb.cn/news/detail-656568.html
# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
2、可以通過logbak.xml文件優(yōu)化顯示數據,編輯內容文章來源地址http://www.zghlxwxcb.cn/news/detail-656568.html
<!--sql日志輸出 -->
<logger name="jdbc.sqlonly" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="console" />
</logger>
<!--將不必要顯示的隱藏掉-->
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<!--將不必要顯示的隱藏掉-->
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<!--將不必要顯示的隱藏掉-->
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
到了這里,關于java項目使用log4jdbc打印sql日志的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!