大家好,我刚刚开始使用c3p0进行数据库连接池。它目前正在将自己附加到我的log4j输出中。如何仅为c3p0设置注销或至少设置为严重级别?我试着调整属性文件,但不确定它是否被正确拾取。有什么办法能最好地关掉它吗谢谢更新:这似乎在www.example.com文件中工作log4j.properties
log4j.logger.com.mchange.v2.c3p0.impl=INFO log4j.logger.com.mchange=INFO
qhhrdooz1#
对于那些不使用配置文件的人,只需在加载连接池之前在代码中添加以下内容。
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);
rta7y2nd2#
如果你使用log4j.xml文件,你可以简单地为c3po包定义一个logger:
<logger name="com.mchange.v2.c3p0"> <level value="SEVERE"/> </logger>
log4j.properties有类似的方法。我觉得就是
log4j.logger.com.mchange.v2.c3p0=SEVERE
kuarbcqp3#
我收到的消息如下:
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以使其停止记录这些消息。
?profileSQL=true
7cwmlq894#
我修复了一行代码的问题:
com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.INFO);
我在我的应用程序中使用log4j。
ou6hu8tu5#
您可以通过在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);
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF
System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL",MLevel.OFF);
bnl4lu3b6#
我在clojure上工作,通过korma,我的生活中我无法加载任何属性文件(我是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卡里埃上面的答案的一个clojure端口,非常感谢!
eqfvzcg87#
如果您使用的是Spring,则可以通过在www.example.com中配置来禁用c3p0日志记录application.properties:
logging.level.com.mchange.v2.c3p0=off
7条答案
按热度按时间qhhrdooz1#
对于那些不使用配置文件的人,只需在加载连接池之前在代码中添加以下内容。
rta7y2nd2#
如果你使用log4j.xml文件,你可以简单地为c3po包定义一个logger:
log4j.properties有类似的方法。我觉得就是
kuarbcqp3#
我收到的消息如下:
这让我认为C3P0正在记录这些消息。实际上,消息来自mysql连接器,因为我通过使用这样的连接字符串启用了分析:
删除
?profileSQL=true
以使其停止记录这些消息。7cwmlq894#
我修复了一行代码的问题:
我在我的应用程序中使用log4j。
ou6hu8tu5#
您可以通过在log4j.xml中添加以下行来设置日志级别。
如果确实要关闭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);
bnl4lu3b6#
我在clojure上工作,通过korma,我的生活中我无法加载任何属性文件(我是clojure的新手,所以我责怪自己)。如果你在一条类似的船上,下面的内容可能会帮助你。
这基本上是Philippe卡里埃上面的答案的一个clojure端口,非常感谢!
eqfvzcg87#
如果您使用的是Spring,则可以通过在www.example.com中配置来禁用c3p0日志记录application.properties: