使用

组件介绍

TMFXLog 染色日志组件提供了远程拉取终端日志服务,支持远程更新配置,终端手动上传日志等能力 。

开启染色日志

开启染色日志写入缓冲。开启后,调用写入接口才能生效。

接口定义

- (void)open;

该接口要求在 -application:didFinishLaunchingWithOptions: 中调用。config 配置的 allowsTraceOpen 默认为 NO,表示不手动打开打点日志,调用 open 会提示 open failed。

调用示例

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

  // ....
  /*
     @note 默认不手动打开打点日志,建议通过云指令配置控制染色日志的开启
     */
    [[TMFXLogger defaultLogger] open];
  // ...

  return YES;
}

写入染色日志

提供日志写入能力。

接口定义

#define XLOG_DEBUG(module, format, ...)
#define XLOG_INFO(module, format, ...)
#define XLOG_WARNING(module, format, ...)
#define XLOG_ERROR(module, format, ...)

SDK 预定义了四种等级的日志写入宏,满足不同级别的写入需要。

调用示例

XLOG_INFO("TestDemo", @"%s", "open");

关闭染色日志

关闭染色日志写入缓冲。关闭之后,后续调用写入接口均无效。

接口定义

- (void)close;

该接口要求在 -applicationWillTerminate: 中调用。

调用示例

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

    [[TMFXLogger defaultLogger] close];
}

染色日志加密和压缩

染色日志默认只压缩不加密,如果需要加密的话,需要设置公钥。公钥生成以及加解密操作可参考 加密指引 进行配置。

接口定义

- (void)setPublicKey:(NSString *)publicKey

该接口要求在 -open 之前调用。

调用示例

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    /**
     @note 如果需要对日志文件进行加密,需要设置公钥。此处的公钥和私钥仅用作测试,实际请参考 https://github.com/Tencent/mars/wiki/Xlog-加密使用指引 配置
     @note 公钥:a6c20f0c2988446beb3e2fa30afa352884ff7256ae4518820bc1e3f3d921e4878a130fd64df55fee6b411af5ed979646e0d720301dd3c7799fdb2f158868cdc9
     @note 私钥:8e3a33ac7a27dea2e2339aaf35d88680d6a25daa68a0b21f0896eb78ebe4b65b
     */
    [[TMFXLogger defaultLogger] setPublicKey:@"a6c20f0c2988446beb3e2fa30afa352884ff7256ae4518820bc1e3f3d921e4878a130fd64df55fee6b411af5ed979646e0d720301dd3c7799fdb2f158868cdc9"];

      [[TMFXLogger defaultLogger] open];
      // ...

      return YES;
}

加密指引 注意事项:

  • 需要有 mars 的 master 源码分支,可以使用 git 拉取或直接下载 zip 文件。
  • pyelliptic-1.5.7 执行 install 之后,需要打开 pyelliptic-1.5.7,将其根目录下的所有文件拷贝至 mars-master/mars/log/crypt 目录下。
  • 提示"File "decode_xxx_file.py", line 11, in import zstandard as zstd" 失败,可尝试修改decode_mars_crypt_log_file.py 或 decode_mars_nocrypt_log_file.py,注释掉“import zstandard as zstd“后重新执行。
  • decode_mars_crypt_log_file.py 的【PUB_KEY】参数可为“”。
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""