【问题标题】:Can log4jdbc be used with spring boot?log4jdbc可以和spring boot一起使用吗?
【发布时间】:2019-02-21 21:52:56
【问题描述】:

我有一个 Spring Boot 应用程序,我正在尝试添加比它更好的数据库日志记录

spring.jpa.properties.hibernate.show_sql=true

log4jdbc,来自

https://github.com/marcosemiao/log4jdbc

似乎是最新的fork,格式似乎很好,填写参数并添加时间,正是我想要的。

但是当我按照自述文件中的说明配置它时,改变了

spring.datasource.url=jdbc:mysql://localhost:3306/coindatabase?useSSL=false

spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/coindatabase?useSSL=false

有些东西似乎不喜欢我对 mysql 的引用,并且似乎试图回退到 H2:

Caused by: java.lang.RuntimeException: Driver org.h2.Driver claims to not accept jdbcUrl, jdbc:log4jdbc:mysql://localhost:3306/coindatabase?useSSL=false
  at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:106)

有没有一些简单的方法可以一起工作?

【问题讨论】:

    标签: mysql spring-boot log4jdbc


    【解决方案1】:

    用于 Spring Boot 包装器的 log4jdbc:

    <groupId>com.integralblue</groupId>
    <artifactId>log4jdbc-spring-boot-starter</artifactId>
    

    这似乎是从:

    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    

    【讨论】:

      【解决方案2】:

      附加信息:

      不要修改 Spring Boot application.properties 文件中的 spring.datasource.url 属性;保留之前定义的 URL 以访问您的 MYSQL 实例。

      相反,在获取 com.integralblue maven 目标后,只需设置选择的日志记录级别(例如 logging.level.jdbc.sqltiming=info),您之前定义的 log4j 日志中就会包含数据库内容。

      请参阅here 原样

      【讨论】:

        【解决方案3】:

        你需要在你的 build.gradle 中使用这个库:

        // https://mvnrepository.com/artifact/com.integralblue/log4jdbc-spring-boot-starter
        compile group: 'com.integralblue', name: 'log4jdbc-spring-boot-starter', version: '2.0.0'
        

        如果您收到警告:
        "Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary."
        您可以通过属性自己设置正确的驱动程序:

        log4jdbc.drivers=com.mysql.cj.jdbc.Driver  
        log4jdbc.auto.load.popular.drivers=false
        

        配置文档可以在Github找到

        【讨论】:

          猜你喜欢
          • 2018-07-16
          • 1970-01-01
          • 2019-12-21
          • 2015-09-03
          • 1970-01-01
          • 1970-01-01
          • 2021-06-11
          • 1970-01-01
          • 2021-04-11
          相关资源
          最近更新 更多