第一:下载并安装XcodeColors
第二:引入第三方库CocoaLumberjack(可以从CocoaPods中安装,但是记得不要下载成swift用的)
第三:点击Edit Scheme,在run中的Environment variables 中增加Name:XcodeColors,并设置Value:YES
第四:在pch文件中增加包含 #import “CocoaLumberjack.h”和定义日志级别。(当然也可以在这个框架的基础上,自定义自己的HXLog.h,然后将HXLog.h加到pch中),这里给了我自定义的打印头文件,HXLog.h
#ifndef HXLog_h
#define HXLog_h
#import "CocoaLumberjack.h"
/* -------------------------------------------------------------- */
日志的级别有如下几种:
LOG_LEVEL_ERROR : 如果设置为LOG_LEVEL_ERROR, 仅仅能看到Error相关的日志输出。
LOG_LEVEL_WARN : 如果设置为LOG_LEVEL_WARN, 能看到Error、Warn相关的日志输出。
LOG_LEVEL_INFO : 如果设置为LOG_LEVEL_INFO, 能够看到Error、Warn、Info相关的日志输出。
LOG_LEVEL_DEBUG : 如果设置为LOG_LEVEL_DEBUG, 能够看到Error/Warn/Info/Debug相关的日志输出。
LOG_LEVEL_VERBOSE : 如果设置为LOG_FLAG_VERBOSE,能够看到所有级别的日志输出。
LOG_LEVEL_OFF : 不输出日志。
/* -------------------------------------------------------------- */
#ifdef DEBUG // 调试阶段,打印所有日志
static const int ddLogLevel = DDLogLevelVerbose;
//static const int ddLogLevel = DDLogLevelDebug;
//static const int ddLogLevel = DDLogLevelError;
//static const int ddLogLevel = DDLogLevelInfo;
//static const int ddLogLevel = DDLogLevelWarning;
#else // 发布阶段,不打印日志
static const int ddLogLevel = DDLogLevelOff;
#endif
// 注意: 如果不需要自定义打印,可以直接将上面的设置放入pch中即可
#define HXLogVerbose(fmt, ...) DDLogVerbose((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)
#define HXLogInfo(fmt, ...) DDLogInfo((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)
#define HXLogDebug(fmt, ...) DDLogDebug((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)
#define HXLogWarn(fmt, ...) DDLogWarn((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)
#define HXLogError(fmt, ...) DDLogError((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)
// 打印方法名
#define HXLogFunc HXLogInfo(@"%s", __func__);
#endif
第五:在AppDelegate.m的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中调用自定义的如下方法:
#pragma mark - 设置DDLog
- (void)setUpLog {
// CocoaLumberjack开启颜色分级
[DDTTYLogger sharedInstance].colorsEnabled = YES;
[DDLog addLogger:[DDTTYLogger sharedInstance]];
[[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor] backgroundColor:nil forFlag:DDLogFlagInfo];//设置INFO级别的日志的颜色为橙色
}
注意:还有很多设置可以自由发挥