解决CocoaLumberjack在mm文件中的使用报错问题
2017-11-27 本文已影响41人
千若逸
直接在Xcode中的mm文件使用DDLogDebug的话,编译会报错:
Cannot initialize a parameter of type 'DDLogLevel' with an rvalue of type 'int'
经测试,诸如DDLogXXX之类的日志打印宏在mm文件中使用都会报上面的错,这个时候需要自定义新的日志打印宏才行。将下面的宏代码放在mm文件中,然后使用DDLogMM来打印日志就没有问题了:
#define LOG_CONTEXT_MM 1
#define LOG_FLAG_MM (1 << 5) // 0...0100000
#define DDLogMM(frmt, ...) LOG_MAYBE(YES, (DDLogLevel)LOG_FLAG_MM, (DDLogFlag)LOG_FLAG_MM, LOG_CONTEXT_MM, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)