发现我们项目中使用了 CocoaLumberjack , 感觉有些想法和之前的想的有些一致,但又比自己成熟太多,于是来了解下这个 Log 库。
![](https://img.haomeiwen.com/i784630/5c7c1c949e9e3fa6.png)
![](https://img.haomeiwen.com/i784630/93e3e4e43f3f7d74.png)
一、我们自己可以做的:
-
1、自定义 formatLogMessage
- 继承这个类 DDDispatchQueueLogFormatter
-
2、对项目进行分门别类的进行日志统计
- DDLogVerbose(@"Verbose");
- DDLogDebug(@"Debug");
- DDLogInfo(@"Info");
- DDLogWarn(@"Warn");
- DDLogError(@"Error");
-
3、上传日志给我们服务器进行分析
- 自己服务器专门一个接口
- 不同地方按照 文件目录不同 上传
二、CocoaLumberjack 中具体的一些可以延伸的点
- 自己尝试引入 CocoaLumberjack 到项目中实际操作一番, 理解更深。
- Crash 的抓取,进一步我们则可以保存到 fileLogger.logFileManager 中去的。
void uncaughtExceptionHandler(NSException *exception) {
// 异常的堆栈信息
NSArray *stackArray = [exception callStackSymbols];
// 出现异常的原因
NSString *reason = [exception reason];
// 异常名称
NSString *name = [exception name];
NSString *exceptionInfo = [NSString stringWithFormat:@"Exception reason:%@\nException name:%@\nException stack:%@",name, reason, stackArray];
//保存 这个log 本地
[exceptionInfo writeToFile:[NSString stringWithFormat:@"%@/Documents/error.log",NSHomeDirectory()] atomically:YES encoding:NSUTF8StringEncoding error:nil];
// xxx
}
- 为什么是使用它?
- 快速:Lumberjack 比 NSLog 快了一个数量级
- 简单:配置就是一句话的事,除了额外添加功能
- 灵活性: 配置自己需要的日志框架,日志级别,上传日志的。
网友评论