无法禁用 ORMLites 日志记录

Cannot disable ORMLites Logging

所以,我的问题是:

我需要禁用 ORMLites 日志记录。

我已经试过了

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

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

我正在使用带有 FileHandler 的单独记录器。这是否会干扰 LocalLog?设置 属性 有效,但这不会改变输出。

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

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

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

Apache Commons Logging 似乎在某处引起了问题....不知道为什么,但删除它解决了问题。

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

编辑:如果您仍然需要 Commons.Logging 让您的应用程序正常工作,您可以使用这个:

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

这从 ORMLite 中删除了所有消息。

I am using an separate Logger with a FileHandler. Does this maybe interfere with LocalLog? Setting the property works, but this does no change to the output.

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

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

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

然后您可以设置日志级别:

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

-Dcom.j256.ormlite.logger.level=ERROR