获取日志

更新时间:2024-03-04 08:53:19

日志拦截接口

为帮助您在接入涂鸦 IPC SDK 时,快速排查解决问题,IPC SDK 提供自定义日志输出的接口。

接口说明

IPC SDK 默认使用系统 Log 打印日志。在开发、测试阶段,您可以通过控制台或使用 adb logcat 命令获取日志。然而,App 发布上线后,adb 日志难以获取。

因此,IPC SDK 提供自定义日志输出接口。通过设置拦截器,您可以使用自己的日志系统来实现存储、上传日志等。

public static void setLogInterception(int level, ILogInterception iLogInterception);

参数说明

参数 说明
level 拦截日志的最低等级
iLogInterception 日志拦截器

日志等级

日志等级
VERBOSE 2
DEBUG 3
INFO 4
WARN 5
ERROR 6

示例代码

L.setLogInterception(2, new ILogInterception() {
@Override
public void log(int i, String tag, String msg) {
        //使用开发者自己的日志系统存储、上传日志
        }
        });

获取本地离线日志

为帮助您在接入涂鸦 IPC SDK 时,快速排查解决问题,涂鸦提供了一个支持导出 SDK 运行日志的组件,接入日志库即可获取本地加密日志文件。您可以 提交工单 联系涂鸦,并结合加密日志一起排查。

按以下步骤接入日志组件:

  1. build.gradle 文件中添加依赖。

     // offline log
    implementation 'com.thingclips.smart:thingsmart-logsdk:5.0.1'
    implementation 'com.thingclips.smart:thing-log-sdk:5.0.0'
    
    implementation 'com.thingclips.smart:thingsmart:5.0.0'
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.14.9'
    
  2. 在 Application 进行初始化。

        // 方式一(默认):不设置单文件大小和数量,表示使用默认设置,单日志文件最大 60M,日志数量为 3 个
        TLogSDK.init(this);
    
         /* 方式二:
         * 表示单个日志文件最大 10M,同种类日志文件数最大为 5 个
         * 当日志数量达到最大时,每创建一个新日志文件,时间上最早创建的日志文件会被删除
         */
        TLogSDK.init(application, 10, 5);
    
  3. 获取本地离线日志。

    TLogSDK.fetchLogs(getApplicationContext(), new LogFileCallback() {
    
    @Override
    public void onSuccess(ArrayList<String> logPaths) {
        //日志所在的本地路径
    }
    
    @Override
    public void onFail(String errorMsg) {
    
    }
    });
    

    为了保证 App 信息安全,离线日志文件均已加密处理,您无法直接查看。如需查看,请导出离线日志文件,然后 提交工单 联系涂鸦。