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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值