开源第三方地址:
https://github.com/CocoaLumberjack/CocoaLumberjack
https://github.com/robbiehanson/XcodeColors
打印,可以替代NSLog,而且功能更加强大。
- 1 pod CocoaLumberjack
platform :ios, '7.0'
pod 'CocoaLumberjack'
- 2 简单使用log
[DDLog addLogger:[DDTTYLogger sharedInstance]]; // xcode 控制台
[DDLog addLogger:[DDASLLogger sharedInstance]]; // 系统 控制台
DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; // 存储到文件 - /Library/Caches/Logs/
fileLogger.rollingFrequency = 60 * 60 * 24;
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
[DDLog addLogger:fileLogger];
// 下面的宏定义需要连接过去修改 DDLogLevel,修改之后就能正常使用log了。
DDLogVerbose(@"Verbose");
DDLogDebug(@"Debug");
DDLogInfo(@"Info");
DDLogWarn(@"Warn");
DDLogError(@"Error");
- 3 添加插件 XcodeColors 打印颜色,更出彩。
// 在 DDLog add之前,添加代码,使用彩色打印插件。
setenv("XcodeColors", "YES", 0);
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
// 然后 打印就带颜色了。CocoaLumberjack 默认 error 红色。warn 橙色。
- 4 自定义打印颜色
[[DDTTYLogger sharedInstance] setForegroundColor:[UIColor greenColor] backgroundColor:nil forFlag:DDLogFlagInfo];
- 5 日志 级别
#import "DDLog.h"
static const int ddLogLevel = LOG_LEVEL_VERBOSE;
// 添加 日志打印级别,显示改级别以上的log
读取日志文件
// log 存储文件夹 路径
NSString *path = [NSString stringWithFormat:@"%@/Library/Caches/Logs",NSHomeDirectory()];
// 删除 log文件夹
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
// 获取路径文件夹下,所有文件,即多个 log 文件
NSArray *subPaths = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:path error:nil];
// 读取多个路径下的 log
[subPaths enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *str = [NSString stringWithContentsOfFile:[NSString stringWithFormat:@"%@/Library/Caches/Logs/%@",NSHomeDirectory(),obj] encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",str); // log
}];