调试日志
日志定义
历史定义
为了帮助开发者进行问题排查,TMF SDK对日志输出级别进行了定义。开发者可以在SDK中找到关于日志级别的具体定义,例如:
TMFBaseCore
日志使用
TMFBaseCore
定义之后,TMF其他SDK将陆续把日志对接至TMFBaseCore
中。项目中可能存在使用两种不同日志级别定义的情况,具体如下:
使用内部定义日志级别
以云指令SDK为例,下面是定义控制台日志输出级别的代码:
[TMFInstructionCenter setLogLevels:TMFInstructionLogLevelAll];
根据项目开发需求,可以将日志级别定义为TMFInstructionLogLevelDebug
或其他值。
使用TMFBaseCore统一定义的日志级别
还是以云指令SDK为例,下面是定义控制台日志输出级别的代码:
[TMFInstructionCenter setLogLevels:TMFBaseCoreLogLevelAll];
根据项目开发需求,可以将日志级别定义为TMFBaseCoreLogLevelDebug
或其他值。
日志筛选
使用前提
- 已集成
TMFBaseCore
SDK。 - 集成的TMF组件(例如云指令
TMFInstruction
)已升级为使用TMFBaseCore
统一日志输出接口。具体信息可从SDK集成文档或版本升级记录中获取。
软件架构
TMFBaseCore
类定义了控制台调试日志输出的方法+printWithLevel:moduleName:className:message:
。TMF其它组件在输出控制台调试日志时,使用TMFBaseCore
定义的日志输出方法来替换NSLog
。方法内部将日志进行筛选输出。
使用步骤
[TMFBaseCore setAllowBaseCoreLogFilter:YES];
[TMFBaseCore setTMFLogOptions:TMFBaseCoreLogLevelInfo];
日志追踪
使用前提
- 已集成
TMFBaseCore
SDK。 - 集成的TMF组件(例如云指令
TMFInstruction
)已升级为使用TMFBaseCore
统一日志追踪接口。具体信息可从SDK集成文档或版本升级记录中获取。
软件架构
TMFBaseCore
协议定义了日志追踪的方法+ traceWithLevel:moduleName:fileName:lineNumber:funcName:message:
。TMF其它组件会在输出控制台调试日志的同时调用日志追踪方法。通过设置TMFBaseCore
类的TMFBaseCoreLoggerRep
属性,可对日志进行写入至文件操作。