http://chun.tips/blog/2014/10/31/fen-xiang-ge-ren-xiang-mu-zhong-de-logxi-tong-cclogsystem/
CCLogSytem 是我个人项目中用来替换NSLog,并可以记录log,查看log的一套简单方便的库。整理代码后,现已开源放到了GitHub上。
GitHub项目地址为: https://github.com/yechunjun/CCLogSystem。支持CocoaPods。
more
主要特征
1)使用CC_LOG代替NSLog,并且提供更加详细的输出信息。使用方法和NSLog完全一致。
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIView *view = [[UIView alloc] init];
CC_LOG(@"%@", view);
}
输出信息为:
2014-10-31 16:20:52.309 . <NSThread: 0x17007f7c0>{number = 1, name = main} AppDelegate.m at 25 (-[AppDelegate application:willFinishLaunchingWithOptions:]): <UIView: 0x1701887b0; frame = (0 0; 0 0); layer = <CALayer: 0x1702253e0>>
每一行 Log 默认提供 时间戳 + 线程信息 + 文件名 + 代码行数 + 方法名 + 原始打印信息
2)使用CC_LOG_VALUE直接打印各种值。
typedef void (^TestBlock)();
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[CCLogSystem setupDefaultLogConfigure];
CC_LOG(@"%@", application);
CC_LOG_VALUE(application);
id applicationTemp = application;
CC_LOG_VALUE(applicationTemp);
CC_LOG_VALUE(self.window);
CC_LOG_VALUE(self.window.frame);
CC_LOG_VALUE(self.window.transform);
Class applicationClass = NSClassFromString(@"UIApplication");
CC_LOG_VALUE(applicationClass);
SEL selector = @selector(application:continueUserActivity:restorationHandler:);
CC_LOG_VALUE(selector);
NSInteger test = 100;
CC_LOG_VALUE(test);
float test2 = 100.000001;
CC_LOG_VALUE(test2);
char test3 = 'a';
CC_LOG_VALUE(test3);
TestBlock testBlock = ^{
};
CC_LOG_VALUE(testBlock);
return YES;
}
- 配置简单,在App launch时调用[CCLogSystem setupDefaultLogConfigure]完成CCLogSystem默认配置。
- 支持直接打印各种数据,避免32Bit和64Bit打印NSInteger编译器警告的痛苦。
3)支持Log记录,支持Developer UI。
[CCLogSystem activeDeveloperUI];
调用上述方法可以弹出Developer UI,查看或者Email Log。
4)支持捕获Crash信息,区分普通Log和Crash Log。
5)支持CCLog和NSLog两种输出方式。
6)Log文件自动清理。
具体实现,欢迎大家:
git clone https://github.com/yechunjun/CCLogSystem.git