【问题标题】:Disable Volley logs in Android application在 Android 应用程序中禁用 Volley 日志
【发布时间】:2015-07-23 09:05:18
【问题描述】:

问题

我正在开发一个使用 the Volley library 进行 http(s) 调用的 SDK。

我可以使用自定义的 Log 类包装器隐藏我的应用程序日志,并且我想禁用 Volley 的每个日志级别打印,因为它可能会暴露 HTTPS 发送的敏感信息。

我知道您可以使用proguard 来禁用应用程序的日志记录,但我也希望能够从服务器端切换登录和关闭以调试特定场景。

我尝试了什么

我看了一下源码,好像DEBUG flag in the VolleyLog类只改变了日志级别,但在日志中保留了ERROR调用,所以对我来说不是解决方案。

是否可以隐藏所有Volley 日志?

【问题讨论】:

  • 您找到解决方案了吗?我有同样的问题,我找不到解决方案..
  • 我也很好奇您是否找到了解决此问题的方法?我使用了 ProGuard,但它不适用于 Volley 错误日志。 link

标签: android logging android-volley


【解决方案1】:

我遇到了同样的问题,最后在谷歌搜索后我找到了适合我的解决方案

    VolleyLog.DEBUG = false;

如果您将 DEBUG 属性设置为 false,您的 Volley Log 将被禁用

【讨论】:

  • 我们需要在每个类中设置这个语句还是只在开始的activity中设置?
  • 最好在Application类中加入这行代码
  • Volley 仍然显示 Log.e 消息,即使 VolleyLog.DEBUG == false
  • 我在哪里添加?
  • 嗨,在您的应用程序中的任何位置,但最好在您启动 volley 实例之前进行
【解决方案2】:

来源:https://github.com/google/volley/issues/125 它对我有用。

您可以使用 Proguard 执行此操作,这是我推荐的,因为它比在运行时标记它更有效。比如:

-assumenosideeffects class com.android.volley.VolleyLog {
    public static void v(...);
    public static void d(...);
    public static void i(...);
    public static void w(...);
    public static void v(...);
}

【讨论】:

    【解决方案3】:

    VolleyLog.DEBUG = false; 我运气不好 相反,这对我有用:

    -assumenosideeffects class com.android.volley.VolleyLog {
        public static void v(...);
        public static void d(...);
        public static void e(...);
        public static void wtf(...);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多