java - 如何在我的 hibernate 类中启用 c3p0 日志记录

标签 java hibernate c3p0 java.util.logging

我使用的是 Java 8、Hibernate 4.3.11 和 c3p0 9.2.1。

我在 hibernate 配置类中定义了所有 c3p0 属性

例如

  Configuration config = new org.hibernate.cfg.Configuration();
  config.setProperty("hibernate.c3p0.maxStatementsPerConnection","50");

这非常有效,因为这意味着在不同平台(Mac、Windows、Linux、Docker 等)上一切都一样

但是我无法获得任何 c3p0 调试输出,我通过添加取得了一些成功

-Dcom.mchange.v2.log.MLog=com.mchange.v2.log.jdk14logging.Jdk14MLog

但是使用

config.setProperty("hibernate.c3p0.com.mchange.v2.log.MLog","com.mchange.v2.log.jdk14logging.Jdk14MLog");

相反没有任何效果。

这是否可能,因为添加为系统属性需要修改才能为所有平台构建脚本(我们提供了正确的安装程序而不仅仅是 jar 文件)。

最佳答案

尝试调用 com.mchange.v2.log.MLog.refreshConfig(null, null)设置配置属性后。

命令行设置与运行时设置的一个问题是类加载通常会触发属性的读取。这意味着在运行时该值会在代码设置之前被读取。

关于java - 如何在我的 hibernate 类中启用 c3p0 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624302/

相关文章:

java - 我的简单计算器不能很好地处理双数

java - swagger-maven-plugin 不会为单个请求映射生成 "paths"元素

java - hibernate 和 JAXB/JSON(消息模型和数据模型)

mysql - 在 databean : Cannot add constraint to MySQL table 上使用 Hibernate Annotation

java - IntelliJ IDEA 2016 : Please choose persistence unit

java - 如何在java中的正则表达式中添加可选空格

java - 如何使用apache csv读取excel的csv文件

spring - 使用 Spring 的 LocalSessionFactoryBean 时的 Permgen 问题

database - 连接和语句池有什么好处?

hibernate - 在 Spring Boot 中,同时使用 c3p0 与 jdbcTemplate 和 Hibernate