0


java项目使用log4jdbc打印sql日志

场景:项目开发中,为了方便调试和排查问题,需要打印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

第三步:启动项目后执行sql语句就可以看到sql日志打印出来了、、、

第四步:(以下配置看要求是否需要添加,不添加也可以)

1、在resources目录新增log4jdbc.log4j2.properties文件并编辑内容

# 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文件优化显示数据,编辑内容

    <!--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>
标签: log4j java sql

本文转载自: https://blog.csdn.net/qq_61367293/article/details/128010269
版权归原作者 oh my gald 所有, 如有侵权,请联系我们删除。

“java项目使用log4jdbc打印sql日志”的评论:

还没有评论