https://github.com/CocoaLumberjack/CocoaLumberjack
CocoaLumberjack是一款log框架,支持iOS和Mac。最大的好处就是可以把Log分成不同等级,方便调适,从此抛弃NSLog。
安装
CocoaPods:
在Podfile
中加上:
Objective-C
1 2
| platform :ios, '7.0' pod 'CocoaLumberjack'
|
Swift
1 2 3
| platform :ios, '8.0' pod 'CocoaLumberjack/Swift' use_frameworks!
|
或者:
Carthage
在Cartfile
中加上:
1
| github "CocoaLumberjack/CocoaLumberjack"
|
或者手动安装
好麻烦不想写了……官网上有😷😷😷。 大概意思就是把CocoaLumberjack/Lumberjack.xcodeproj
拖到项目中,编译然后选自己项目对应的框架。
用法
引入
1
| #import <CocoaLumberjack/CocoaLumberjack.h>
|
Log分为以下几种,分别代表不同的等级
- DDLogError
- DDLogWarn
- DDLogInfo
- DDLogDebug
- DDLogVerbose
严重度:DDLogError
>DDLogWarn
>DDLogInfo
>DDLogDebug
>DDLogVerbose
通过下面这个语句可以设置调适的时候在控制台输出哪个等级的Log:
1 2 3 4 5 6 7 8 9 10 11 12 13
| static const DDLogLevel ddLogLevel = DDLogLevelDebug; ```
`DDLog`语法跟`NSLog`语法一摸一样
```objectivec
NSLog(@"Broken sprocket detected!"); NSLog(@"User selected file:%@ withSize:%u", filePath, fileSize);
DDLogError(@"Broken sprocket detected!"); DDLogVerbose(@"User selected file:%@ withSize:%u", filePath, fileSize);
|
比如选了DDLogLevelDebug
调试的时候只会在控制台输出Debug
,Info
,Warn
和Error
。
swift用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| DDLog.addLogger(DDTTYLogger.sharedInstance()) DDLog.addLogger(DDASLLogger.sharedInstance())
let fileLogger: DDFileLogger = DDFileLogger() fileLogger.rollingFrequency = 60*60*24 fileLogger.logFileManager.maximumNumberOfLogFiles = 7 DDLog.addLogger(fileLogger)
...
DDLogVerbose("Verbose"); DDLogDebug("Debug"); DDLogInfo("Info"); DDLogWarn("Warn"); DDLogError("Error");
|
Objective-C用法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [DDLog addLogger:[DDTTYLogger sharedInstance]]; [DDLog addLogger:[DDASLLogger sharedInstance]];
DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; fileLogger.rollingFrequency = 60 * 60 * 24; fileLogger.logFileManager.maximumNumberOfLogFiles = 7; [DDLog addLogger:fileLogger];
...
DDLogVerbose(@"Verbose"); DDLogDebug(@"Debug"); DDLogInfo(@"Info"); DDLogWarn(@"Warn"); DDLogError(@"Error");
|
如何输出有颜色的Log?
首先要去安装一个Xcode插件XcodeColors
安装方法
把项目下载下来,运行,然后重启Xcode。。。。点击Load Bundle
就好
然后在项目中加入这两个语句(可以写在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
里面):
1 2 3 4 5
| // Standard lumberjack initialization [DDLog addLogger:[DDTTYLogger sharedInstance]];
// And we also enable colors [[DDTTYLogger sharedInstance] setColorsEnabled:YES];
|
还没完!!!
然后在Xcode中设置:
- Xcode中点击
Product
-> Edit Scheme
- 点击左边的
Run
,然后选中Arguments
- 添加一项新的
Environment Variable
叫XcodeColors
,value
写YES
。
现在控制台输出的就是带有颜色的Log了,默认
DDLogError
: 红色
DDLogWarn
: 橙色
自定义颜色
代码中加入:
1 2 3 4 5 6 7 8 9 10 11 12
|
#if TARGET_OS_IPHONE UIColor *pink = [UIColor colorWithRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0]; #else NSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0]; #endif
[[DDTTYLogger sharedInstance] setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];
DDLogInfo(@"Warming up printer");
|
####有个小技巧:
创建一个pch文件,在这个文件里面引入
1
| #import <CocoaLumberjack/CocoaLumberjack.h>
|
然后设置log等级
1
| static const DDLogLevel ddLogLevel = DDLogLevelDebug;
|
整个项目的其它文件就都可以正常使用DDLog
了~
对于如何创建pch文件,以及什么是pch文件有疑问的同学传送门