跳转至

日志插件

以下两种日志插件

Okhttp Profiler Profiler
列表显示 动态曲线图
添加LogRecordInterceptor拦截器 默认记录所有OkHttp的请求
原理是插件捕获LogCat日志, 线上环境需关闭 无法捕获启动一瞬间的请求

LogRecordInterceptor

添加日志拦截器

NetConfig.initialize(Api.HOST, this) {
    addInterceptor(LogRecordInterceptor(BuildConfig.DEBUG))
}
构造参数 描述
enabled 是否启用日志
requestByteCount 请求日志信息最大字节数, 默认1MB
responseByteCount 响应日志信息最大字节数, 默认4MB

此时仅LogCat输出日志, 要预览请安装插件

安装插件

1. 安装插件

在插件市场搜索: "Okhttp Profiler"

2. 打开窗口

安装以后在AndroidStudio右下角打开窗口

不显示日志

请在请求前确保有打开过插件窗口, 如果依然不显示可以反复打开/关闭窗口

每次AS更新可能要该插件作者适配, 发现无效请反馈给作者更新

使用效果

标题 描述
Device 选择调试设备
Process 选择展示记录的进程
抓取 一般情况不需要使用, 假设没有及时更新请点击图标
清空 清空记录

自定义日志

继承LogRecordInterceptor复写函数实现自定义

  1. 复写getRequestLog返回请求参数
  2. 复写getResponseLog返回响应参数

初始化时添加自己的拦截器

NetConfig.initialize(Api.HOST, this) {
    addInterceptor(MyLogRecordInterceptor(BuildConfig.DEBUG))
}

日志过滤

不想网络日志影响其他日志查看, 可以添加OKPREL_为日志折叠规则

其他网络框架

LogRecordInterceptor属于OkHttp拦截器, 其他网络请求框架也可以使用

或者直接使用LogRecorder输出日志

LogRecorder 描述
generateId 产生一个唯一标识符, 用于判断为同一网络请求
recordRequest 记录请求信息
recordResponse 记录响应信息
recordException 记录请求异常信息