log4jdbc可以与spring boot一起使用吗?

dw1jzc5e  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(935)

我有一个springboot应用程序,我正在尝试添加数据库日志记录,这比

spring.jpa.properties.hibernate.show_sql=true

log4jdbc,来自

https://github.com/marcosemiao/log4jdbc

似乎是最新的分叉,似乎格式很好,填写参数和添加时间,正是我想要的。
但是当我按照自述文件中的说明配置它时

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)

有什么简单的方法可以让这一切一起工作吗?

9lowa7mx

9lowa7mx1#

您需要在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上找到

0ejtzxu1

0ejtzxu12#

其他信息:
不要修改 spring.datasource.url 属性在spring boot application.properties文件中;保留前面定义的url以访问mysql示例。
相反,在获取com.blue maven目标之后,只需设置所选的日志记录级别(例如 logging.level.jdbc.sqltiming=info )您先前定义的log4j日志将包含db内容。
我也看到这里了

rsl1atfo

rsl1atfo3#

用于spring引导 Package 器的log4jdbc:

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

这似乎是从以下方面推动实施的:

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

相关问题