无法禁用ORMLites记录

时间:2016-11-22 11:35:09

标签: java logging ormlite

所以,我的问题是:

我需要禁用ORMLites Logging。

我已经尝试了

System.setProperty(LocalLog.LOCAL_LOG_LEVEL_PROPERTY, "ERROR");

在JavaFX应用程序上,这很有用。 但现在我有一个控制台程序,这不想工作...... 我的第一个理论是:

我正在使用带有FileHandler的独立Logger。这可能会干扰LocalLog吗?设置属性有效,但这不会改变输出。

编辑:关于两个项目之间的差异:

我使用公共登录非FX项目。这可能是它不起作用的原因吗? (我使用它是因为公共csv和公共配置...不用于记录)

2 个答案:

答案 0 :(得分:3)

  

我正在使用带有FileHandler的单独Logger。这可能会干扰LocalLog吗?设置属性有效,但这不会改变输出。

ORMLite尝试检测并使用其他日志库(如果可用)。我怀疑它正在寻找另一个日志记录实现并使用它。您可以强制它使用一个记录器但是:

div

System.setProperty("com.j256.ormlite.logger.type", "LOCAL");

然后您可以使用以下命令设置日志级别:

-Dcom.j256.ormlite.logger.type=LOCAL

System.setProperty("com.j256.ormlite.logger.level", "ERROR");

答案 1 :(得分:1)

好的,我找到了罪魁祸首:

Apache Commons Logging似乎在某个地方引起了一个问题....不确定原因,但删除它解决了这个问题。

如果Gray对此有解释,我会将他的答案标记为已解决的答案。但是现在我的问题已经解决了。

编辑:如果你仍然需要Commons.Logging让你的应用程序工作,你可以使用它:

System.setProperty("org.apache.commons.logging.Log",
     "org.apache.commons.logging.impl.NoOpLog");

这删除了来自ORMLite的所有邮件。