1

我设置OkHttpInterceptor如下OkHttpClient

OkHttpClient

private static OkHttpClient getOkHttpClient() {
    OkHttpClient.Builder builder = new OkHttpClient.Builder();
    builder.addInterceptor(getInterceptor());
    builder.authenticator(new TokenAuthenticator());
    if (BuildConfig.DEBUG) {
        builder.addInterceptor(getHttpLoggingInterceptor());
    }
    return builder.build();
}

HttpLogging拦截器

private static HttpLoggingInterceptor getHttpLoggingInterceptor() {
    HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
        @Override
        public void log(String message) {
            Log.d(TAG, message);
        }
    });
    httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    return httpLoggingInterceptor;
}

在使用断点进行调试时,我可以看到如下的实际request/response方法log()

在此处输入图像描述

但是message (Accept: application/json)的内容没有被登录LogCat。我在这里想念什么?

我得到的只是日志跟踪(我想这与记录消息内容无关。):

04-26 16:41:53.769 22211-23066/? W/SdkConfig: Update config failed
                                              java.net.SocketTimeoutException: connect timed out
                                                  at java.net.PlainSocketImpl.socketConnect(Native Method)
                                                  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
                                                  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
                                                  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
                                                  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
                                                  at java.net.Socket.connect(Socket.java:616)
                                                  at com.android.okhttp.internal.Platform.connectSocket(Platform.java:113)
                                                  at com.android.okhttp.Connection.connectSocket(Connection.java:221)
                                                  at com.android.okhttp.Connection.connect(Connection.java:197)
                                                  at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:392)
                                                  at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
                                                  at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:356)
                                                  at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:273)
                                                  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:474)
                                                  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:422)
                                                  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:538)
                                                  at com.holaverse.b.g.c(SourceFile:102)
                                                  at com.holaverse.b.g.a(SourceFile:27)
                                                  at com.holaverse.b.h.run(SourceFile:69)
                                                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                  at java.lang.Thread.run(Thread.java:761)
4

1 回答 1

0

在设备(Micromax Canvas)中,我遇到以下错误:

E/libdataflow_monitor: open error=Operation not permitted logging

而在模拟器(Nexus 5)中,消息已正确记录!

于 2018-04-27T06:04:56.743 回答