所以,我的问题是:
我需要禁用ORMLites Logging。
我已经尝试了
System.setProperty(LocalLog.LOCAL_LOG_LEVEL_PROPERTY, "ERROR");
在JavaFX应用程序上,这很有用。 但现在我有一个控制台程序,这不想工作...... 我的第一个理论是:
我正在使用带有FileHandler的独立Logger。这可能会干扰LocalLog吗?设置属性有效,但这不会改变输出。
编辑:关于两个项目之间的差异:
我使用公共登录非FX项目。这可能是它不起作用的原因吗? (我使用它是因为公共csv和公共配置...不用于记录)
答案 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的所有邮件。