我该如何修复导致我的 logcat 泛滥的原因:I/System.out: (HTTPLog)-Static: isSBSettingEnabled false

How do I fix whatever is causing this to flood my logcat: I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false

我正在编写一个 Android 应用程序来访问互联网。它运行没有错误,但是自从我将我的设备 (Samsung Galaxy S5) 升级到 Android 5.0.1 后,当我的 phone 运行该应用程序时,我的 logcat 充斥着以下消息:

05-20 16:05:35.514  23322-23440/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:35.514  23322-23440/scave.dvend I/System.out﹕ (HTTPLog)-Static: isShipBuild true
05-20 16:05:35.514  23322-23440/scave.dvend I/System.out﹕ (HTTPLog)-Thread-23345-153023149: SmartBonding Enabling is false, SHIP_BUILD is true, log to file is false, DBG is false
05-20 16:05:35.514  23322-23440/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:35.564  23322-23440/scave.dvend I/System.out﹕ KnoxVpnUidStorageknoxVpnSupported API value returned is false
05-20 16:05:36.184  23322-23440/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:37.784  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:37.884  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.034  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.164  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.404  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.544  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.774  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:38.864  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:39.084  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:39.204  23322-23634/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
...
05-20 16:05:46.334  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.364  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.404  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.454  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.514  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.554  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:46.604  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:47.964  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.644  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.674  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.694  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.704  23322-24029/scave.dvend I/System.out﹕ KnoxVpnUidStorageknoxVpnSupported API value returned is false
05-20 16:05:48.754  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.804  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.844  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.874  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.914  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.944  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:48.994  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.564  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.604  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.654  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.714  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.744  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.774  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.824  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.834  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.864  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.904  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.944  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:50.984  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.014  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.044  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.094  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.124  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.144  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.204  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.224  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.254  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.304  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.424  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.504  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.554  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.594  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.624  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.654  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.714  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.744  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:51.774  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.134  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.204  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.324  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.384  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.414  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:53.444  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:54.684  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:54.724  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
05-20 16:05:54.744  23322-24029/scave.dvend I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false

那是 非常 我的 logcat 长相的小样本。这到底是什么意思?有什么方法可以将 "isSBSettingEnabled" 设置为 true 以让它闭嘴吗?

您可能正在使用 HttpUrlConnectionHttpsUrlConnection。也许您可以通过在相应的连接上调用 getClass() 来找出哪个 class 正在记录日志,然后使用 Logger.getLogger("...").setLevel(Level.OFF);

将其关闭

另见 Enable logging for JDK class programmatically

您可以使用正则表达式过滤器来隐藏充斥您日志的日志消息:

^((?!isSBSettingEnabled).)*$

您还可以使用 | 隐藏多个违规日志。例如

^((?!isSBSettingEnabled|OtherLog|OtherLog2|Annoying Messages).)*$

如果您在三星设备上运行的应用程序上使用 HttpLoggingInterceptor,只需将日志级别设置为正文,它将修复所有问题。这样的东西应该可以正常工作:

HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

解法:

在您的 application 标签中添加:

android:usesCleartextTraffic="true"

如下:

<application
    ....
    android:usesCleartextTraffic="true"
    ....>

Android7.0通过网络安全配置文件提供了更好的解决方案。 如何使用? 1. 在res/xml下添加一个网络安全配置文件。 2. 添加域配置并将 cleartextTrafficPermitted 设置为“true”。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">your_domain.com</domain>
    </domain-config>
</network-security-config>
  1. 将您的网络安全配置添加到应用程序下的 Android 清单文件中。

    <application
        android:name=".MyApplication"
        android:networkSecurityConfig="@xml/network_security_config">