Android Studio Giraffe Logcat无法显示HTTP请求日志问题咨询
解决Logcat无法显示HTTP请求日志的问题
一、先排查IDE更新后的配置变动
- 检查Logcat日志级别:更新AS后默认级别可能被改成了
Error或Warn,手动切换到Debug或Verbose;同时确认没启用冲突的自定义过滤器,先切回No Filters试试。 - 重启ADB连接:AS更新后ADB容易出问题,点Logcat面板的「Restart」按钮,或者终端执行
adb kill-server && adb start-server,重新连接设备。 - 确认选中正确进程:Logcat顶部的进程下拉框,一定要选你当前运行的应用进程,别误选了系统进程或其他APP。
二、检查HTTP客户端的日志配置
之前不用Log.d()也能看到日志,说明你的HTTP客户端(比如OkHttp/Retrofit)之前开了日志拦截器,更新后可能配置失效:
- 若用OkHttp,确保
HttpLoggingInterceptor已添加且级别正确:
注意:debug包才会输出日志,确认当前编译变体是Debug。val loggingInterceptor = HttpLoggingInterceptor().apply { level = HttpLoggingInterceptor.Level.BODY // 或BASIC/HEADERS,根据需要选 } val client = OkHttpClient.Builder() .addInterceptor(loggingInterceptor) .build() - 其他HTTP库同理,检查是否开启了debug日志开关,有些库在IDE更新后会默认关闭该配置。
三、协程相关的日志排查
协程本身不会屏蔽Logcat输出,但要注意这几点:
- 协程日志多在非主线程输出,别在Logcat的线程过滤器里选了「仅主线程」,要允许显示所有线程。
- 确认
LaunchEffect和viewModelScope里的日志代码真的被执行:加个断点,看HTTP请求是否发起,日志语句是否走到了。 - 检查协程异常处理:如果请求抛异常被
catch块吞了,且没在catch里打日志,自然看不到请求相关输出。
四、其他排查方向
- 设备日志限制:部分国产ROM会限制第三方APP日志输出,去开发者选项开启「USB调试(安全设置)」,或关闭系统自带的日志过滤。
- 清理AS缓存:AS更新后缓存可能出问题,执行
File -> Invalidate Caches... -> Invalidate and Restart,重启后再测试。
内容的提问来源于stack exchange,提问作者Manuel Lucas
相关产品推荐
相关产品推荐

