You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio调试:无脱敏显示Logcat日志及Retrofit数据排查

一、让Android Studio Logcat无脱敏、无限制显示完整日志
  • 调整日志缓冲区大小:
    打开Android Studio的Run/Debug Configurations,找到目标调试配置,进入Logcat标签页,将Logcat buffer size设为较大值(如10240KB),或直接输入-1取消大小限制。
  • 关闭日志脱敏:
    查看Logcat右上角设置,确保Obfuscate logs选项未勾选。若代码中存在日志脱敏逻辑,临时注释相关代码。
  • 重置日志过滤规则:
    将Logcat日志级别切换为Verbose,清空所有自定义过滤条件(如包名、标签过滤),避免通配符*导致的日志截断或过滤。
二、Retrofit转换Kotlin对象时的日志排查方案

要获取完整原始JSON数据排查过滤问题,可通过以下方式:

  • 添加OkHttp日志拦截器:
    引入OkHttp的HttpLoggingInterceptor,在Retrofit构建阶段添加该拦截器并设置日志级别为BODY,以此打印完整的请求、响应JSON内容。示例代码:
    val loggingInterceptor = HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BODY
    }
    val okHttpClient = OkHttpClient.Builder()
        .addInterceptor(loggingInterceptor)
        .build()
    val retrofit = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .client(okHttpClient)
        .addConverterFactory(GsonConverterFactory.create())
        .build()
    
  • 直接打印原始响应字符串:
    在处理Retrofit响应时,先将响应体转换为字符串打印,再执行对象转换。示例代码:
    val response = apiService.getData().execute()
    val rawJson = response.body()?.string()
    Log.d("RawJSON", rawJson ?: "Empty response")
    // 后续再将rawJson转换为Kotlin对象进行过滤处理
    val dataObject = Gson().fromJson(rawJson, DataModel::class.java)
    
  • 禁用日志自动截断:
    打开Android Studio的Help -> Edit Custom Properties,添加配置idea.cycle.buffer.size=10240,重启IDE后即可避免长日志被截断为带*的形式。

内容的提问来源于stack exchange,提问作者Rishabh Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:52:48