如何关闭java c3p0连接池中的日志记录?
嘿所有,我刚刚开始使用c3p0进行数据库连接池。它现在将自己附加到我的log4j输出中。我如何设置关闭或者至少将关闭级别设置为c3p0?我尝试调整属性文件,但不知道它被正确拾取。如何关闭java c3p0连接池中的日志记录?
有关如何最好地关闭它的任何想法?
感谢
UPDATE: 这似乎在log4j.properties工作文件
log4j.logger.com.mchange.v2.c3p0.impl=INFO
log4j.logger.com.mchange=INFO
如果您使用的log4j.xml文件,你可以简单的定义一个logger在C3PO包:
<logger name="com.mchange.v2.c3p0">
<level value="SEVERE"/>
</logger>
有类似的log4j.properties方法。我认为这只是:
log4j.logger.com.mchange.v2.c3p0=SEVERE
您可以通过至少在错误级别所需的的log4j.xml 日志添加以下行设置日志级别。
< category name="com.mchange" additivity="false">
< priority value="ERROR"/>
< appender-ref ref="ASYNC"/>
</ category>
如果你真的要关闭C3P0日志记录设置属性com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF
在c3p0-Config.properties
,或者你可以直接设置在此代码作为系统属性System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL",MLevel.OFF);
不适合我。 – 2011-05-16 15:57:10
在属性文件中添加一个额外的行为我工作,'com.mchange.v2.log.MLog = com.mchange.v2.log.FallbackMLog' – 2016-08-09 08:12:51
我修复了一行代码问题:
com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.INFO);
我在我的应用程序中使用log4j。
是的,这适用于我! – surfealokesea 2013-07-11 14:24:23
对于那些不使用配置文件的人,只需在加载连接池之前在代码中添加以下内容即可。
Properties p = new Properties(System.getProperties());
p.put("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog");
p.put("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "OFF"); // Off or any other level
System.setProperties(p);
'import java.util.Properties;' – thatWiseGuy 2017-04-22 19:59:36
我得到的消息类似如下:
Tue Feb 12 13:42:01 EST 2013 INFO: Profiler Event: [FETCH] at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) duration: 0 ms, connection-id: 67, statement-id: 23, resultset-id: 27
这让我觉得C3P0是记录这些消息。实际上,消息从MySQL连接器来,因为我启用了剖析通过使用连接字符串是这样的:
jdbc:mysql://localhost/database?profileSQL=true
删除?profileSQL=true
,使其停止记录这些消息。
我在clojure工作,通过科尔马和我的生活我无法获得任何属性文件加载(我是clojure新,所以我责怪自己)。如果你在一条类似的船上,以下可能会帮助你。
(System/setProperties
(doto (java.util.Properties. (System/getProperties))
(.put "com.mchange.v2.log.MLog" "com.mchange.v2.log.FallbackMLog")
(.put "com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL" "OFF")))
这基本上是Philippe Carriere上面答案的clojure端口,非常感谢!
使用Korma我需要在使用这个代码之前要求它的命名空间。 – boechat107 2015-03-19 20:56:39
是的,抱歉忘了提及。如果Korma被加载,那么上面的行不会覆盖已经设置的内容。 – a4word 2015-03-20 21:52:22
我目前正在使用一个log4j.properties文件,任何想法如何在那里做到这一点? – James 2010-06-04 17:27:28
增加了一个log4j。属性记录器示例 – fasseg 2010-06-04 17:30:54
谢谢!我不得不稍微调整它,但log4j.properties文件工作:) – James 2010-06-04 17:39:31