Ale*_*rov 9 java logging hibernate c3p0
我正在使用Hibernate的c3p0连接池和标准Java 1.4 java.util.logging.启动时,我的应用程序在static块中设置它的日志记录属性(包括格式化程序和日志级别).每次我启动我的应用程序时,都会看到以下内容:
2011-04-16 17-43-51 [com.mchange.v2.log.MLog] INFO: {MLog.<clinit>) MLog clients using java 1.4+ standard logging.
2011-04-16 17-43-51 [com.mchange.v2.c3p0.C3P0Registry] INFO: {C3P0Registry.banner) Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]
2011-04-16 17-43-51 [com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource] INFO: {AbstractPoolBackedDataSource.getPoolManager)
...
Run Code Online (Sandbox Code Playgroud)
我试过了
Logger.getLogger("com.mchange").setLevel(Level.WARNING);
com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.WARNING);
System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "WARNING");
Run Code Online (Sandbox Code Playgroud)
但是我现在发现的唯一可以防止它的方法是
Logger.getLogger("").setLevel(Level.WARNING);
Run Code Online (Sandbox Code Playgroud)
这影响了一切 - 不是一个好的副作用.谷歌没有帮助.有人可以帮忙吗?
Ale*_*rov 19
我找到的方法是设置系统属性
System.setProperty("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog");
Run Code Online (Sandbox Code Playgroud)
此外
System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "WARNING");
Run Code Online (Sandbox Code Playgroud)
我想,没有任何其他日志记录系统会使这个可选,但似乎我错了.
PS
该死的那些轮改造的自定义日志记录实现,就像c3p0使用的那样...
Boh*_*nko 11
我找到实现这一目标的方式
在类路径中创建一个名为mchange-log.properties的文件,并将其放入Frozen Spider建议的属性中.
com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=WARNING
Run Code Online (Sandbox Code Playgroud)
即使您无法直接设置系统属性,这也可以正常工作.