iOS 收集 SDK 内部 log

开发者可能自己的app可能有日志收集功能,同时也期望收集到融云SDK的log,那么可以参考下面的描述
发布时间: 2017-10-27 20:25

回答:

  1. 为 SDK 设置 log 等级,设置 RCIMClient 的 logLevel 为您期望的,可以在 SDK initWithAppkey 之后设置,比如希望只收集错误 log,那么可以设置为 RC_Log_Level_Error,如果想一般信息、警告信息,错误信息都收集,那么可以设置为 RC_Log_Level_Info。

  2. 调用 RCIMClient 的 setRCLogInfoDelegate  设置代理,并实现:

- (void)didOccurLog:(NSString *)logInfo;

代理方法,当 SDK 有 log 产生的时候,App 就可以通过该代理方法获取到 SDK 内部的 log。


注:需要额外考虑的是将代理设置给什么类,如果想要在整个 App 的声明周期内都收集 log,那么可以设置给单例类或者 AppDelegate 等在整个 App 生命周期内都不会被系统回收的类。