【问题标题】:Hide the debug logs from Ormlite隐藏 Ormlite 的调试日志
【发布时间】:2014-09-19 09:03:31
【问题描述】:

我正在将 Ormlite 库用于 android studio 项目。许多消息在调试模式下来自 Ormlite。它使我看不到其他消息。请帮我隐藏 Ormlite 的日志。
一行示例:

07-28 14:54:55.508  14581-21079/com.paktor I/System.out﹕ 2014-07-28 14:54:55,513 [DEBUG] BaseMappedStatement prepared statement 

【问题讨论】:

    标签: android logging log4j ormlite


    【解决方案1】:

    我正在使用以下行以编程方式禁用日志记录:

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

    这对我有用,因为要确定是否应该记录消息 ORMLite 首先尝试通过使用方法获取 Logger 类型:

    LoggerFactory.getLogger(Class<?> clazz)
    

    对于 Android,它应该返回基本的 Android 记录器 (android.util.Log)。但对我来说,它总是返回 ORMLite 本地记录器(com.j256.ormlite.logger.LocalLog)。并且此记录器级别由属性 LocalLog.LOCAL_LOG_LEVEL_PROPERTY 设置。

    如果它不起作用,则意味着 ORMLite 以某种方式使用 Android 日志记录,您只需设置 Android Logger 的级别

    【讨论】:

      【解决方案2】:

      ORMLite documentation 其实还不错。如果您在手册中查找Android logging,您将了解如何从 adb shell 设置日志记录。您可以将所有 ORMLite 消息的级别设置为 WARN 以停止冗长。

      adb shell setprop log.tag.ORMLite WARN
      

      您也可以以编程方式执行此操作。请参阅以下答案:

      How do I enable/disable log levels in Android?

      【讨论】:

      • 感谢您的回答。但似乎有解决方案不适用于我的设备。我尝试了一些方法:在代码中,我添加了: System.setProperty("log.tag.ORMLite", "WARN");和 System.setProperty("log.tag.ORMLite", String.value(Log.WARN));并尝试运行“adb shell setprop log.tag.ORMLite WARN”。他们都没有工作。我仍然看到来自 Ormlite 的调试消息
      猜你喜欢
      • 2015-03-12
      • 2021-03-15
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      相关资源
      最近更新 更多