Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Android Studio中获取改装请求和响应日志_Android_Retrofit2_Logcat_Okhttp - Fatal编程技术网

无法在Android Studio中获取改装请求和响应日志

无法在Android Studio中获取改装请求和响应日志,android,retrofit2,logcat,okhttp,Android,Retrofit2,Logcat,Okhttp,我没有在android studio中获取请求和响应请求的日志。 我甚至在改型2中使用了HttpLogginInterceptor。但我无法在Logcat中看到请求主体和响应主体的日志 这是我的改装客户: import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; impor

我没有在android studio中获取请求和响应请求的日志。 我甚至在改型2中使用了HttpLogginInterceptor。但我无法在Logcat中看到请求主体和响应主体的日志

这是我的改装客户:

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;


public class RestClient {


    private static RestClient restClient;
    private Retrofit retrofitAuth;
    private Retrofit retrofit;

    /**
     * only to be used for auth
     */


    public static WebServices webServices() {
        return getRestClient().getRetrofitInstance().create(WebServices.class);
    }

    public static WebServices webAuthServices() {
        return getRestClient().getAuthRetrofitInstance().create(WebServices.class);
    }

    private static RestClient getRestClient() {
        if (restClient == null) {
            restClient = new RestClient();
        }
        return restClient;
    }

    private Retrofit getRetrofitInstance() {
        if (retrofit == null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BuildConfig.API_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .client(getOkHttpClient())
                    .build();
        }
        return retrofit;
    }

    private Retrofit getAuthRetrofitInstance() {
        if (retrofitAuth == null) {
            retrofitAuth = new Retrofit.Builder()
                    .baseUrl(BuildConfig.API_URL)
                    .client(getAuthOkHttpClient())
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofitAuth;
    }

    private OkHttpClient getOkHttpClient() {
        return new OkHttpClient.Builder()
                .readTimeout(60, TimeUnit.SECONDS)
                .connectTimeout(60, TimeUnit.SECONDS)
                .addInterceptor(new ConnectivityInterceptor())
                .addInterceptor(new HeaderAdder())
                .addInterceptor(new AuthInterceptor())
                .addInterceptor(getHttpLoggingInterceptor())
                .build();
    }

    private OkHttpClient getAuthOkHttpClient() {
        return new OkHttpClient.Builder()
                .readTimeout(60, TimeUnit.SECONDS)
                .connectTimeout(60, TimeUnit.SECONDS)
                .addInterceptor(new HeaderAdder())
                .addInterceptor(new ConnectivityInterceptor())
                .addInterceptor(getHttpLoggingInterceptor())
                .build();
    }

    private HttpLoggingInterceptor getHttpLoggingInterceptor() {
        HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
        logging.setLevel(HttpLoggingInterceptor.Level.BODY);
        return logging;
    }

    public static void destroyRestClient() {
        restClient = null;
    }


}
正如您可以看到的,返回HttpLoggingInterceptor的最后一个函数,
我把它交给我的okhttp客户端,然后该客户端被添加到改造实例中。但我还是看不到日志。请帮助。

请将此库添加到渐变文件中

 // Retrofit-2
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'





  val interceptor = HttpLoggingInterceptor()
    interceptor.level = HttpLoggingInterceptor.Level.BODY

    val client = OkHttpClient.Builder()
            .connectTimeout(30, TimeUnit.SECONDS)
            .writeTimeout(30, TimeUnit.SECONDS)
            .readTimeout(30, TimeUnit.SECONDS)
            .addInterceptor(interceptor)
            .build()
   GlobalApp.api = Retrofit.Builder()
            .baseUrl(END_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build().create(Api::class.java)

在Reformation2Implementation'com.squareup.okhttp3:logging interceptor:3.9.1'中没有
RestAdapter
,您只需要这个库就可以启动LogcatGSON和rxjava有什么用?一个用于将数据解析/映射到对象中,然后在数据到达后执行操作。所以这两种依赖关系毫无意义。而且我的应用程序中已经有了实现'com.squareup.okhttp3:okhttp:3.10.0'实现'com.squareup.okhttp3:logging interceptor:3.10.0'。但解决方案在哪里?你写的答案,我的问题中不是已经有了吗?事实上,我还有更多。将HttpLoggingInterceptor.Level.BODY更改为Level.full除非其他拦截器中断,否则您的代码应该可以工作something@Selvin这就是问题所在,伙计,我无法理解为什么它不记录日志,我能够进行完美的api调用,也能得到响应。但我想查看日志,我每次都在调试以查看响应。我应该启用还是禁用某些东西?或者我应该在logcat的调试模式下查看?我已经试过调试,错误,冗长了,真的很简单。你检查过了吗?是的,他检查过了。。。他的密码已经有了HttpLoggingInterceptor@Selvin动态标题添加是否可能是一个问题?