FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# Log日志管理

SDK中的Log日志管理分两块:控制台输出、写入日志文件。 而Log日志管理相关的Api,都是通过[FATClient sharedClient].logManager来调用的。

# 1. Log日志初始化配置

API

/// 初始化并开启日志记录
/// @param logDir 日志文件存储路径,默认路径为 沙盒Document/finclip_log(除了日志文件不要把其他文件放入该目录,不然可能会被日志系统清理掉)
/// @param logLevel 日志记录等级(Debug版本推荐 FATLogLevelDebug, Release 版本推荐 FATLogLevelInfo)
/// @param isConsoleLog 是否开启控制台输出日志(Debug版本推荐开启, Release 版本推荐关闭)
- (void)initLogWithLogDir:(NSString *)logDir logLevel:(FATLogLevel)logLevel consoleLog:(BOOL)isConsoleLog;

示例代码:

NSArray *patchs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [patchs objectAtIndex:0];
NSString *logDir = [documentsDirectory stringByAppendingPathComponent:@"ABC_FinClip_LogFiles"];

[[FATClient sharedClient].logManager initLogWithLogDir:logDir logLevel:FATLogLevelWarning consoleLog:YES];

# 2. 内存日志立即同步至文件

为了避免频繁的文件写入,日志信息会以MMAP形式存在于磁盘缓存中,并在合适的时机写入日志文件

/// 把内存中的日志立即写入到日志文件
/// 一般在需要导出日志文件时调用,将最新的日志更新到日志文件中。
/// 如果不调用这些日志也不会丢失,日志会以MMAP形式存在于磁盘缓存中,并在合适的时机写入日志文件
/// @param isAsync 是否异步写入(建议异步,否则可能导致卡顿)
- (void)flushLog:(BOOL)isAsync;

# 3. 设置日志文件保留时间

/// 设置日志文件保留时间(默认10天,至少为1天)
/// @param duration 保留时间,单位为秒
- (void)setLogFileAliveDuration:(NSUInteger)duration;

# 4. 关闭日志

/// 关闭日志,在程序退出时调用(比如applicationWillTerminate:)。
- (void)closeLog;

# 5. 日志输出的代理事件

宿主App可通过实现日志输出的代理来获取日志或性能统计数据。

日志代理以及示例代码见:logDelegate

© 2022 FinClip with ❤