我认为ddLogLevel
日志系统 cocoalumberjack 的日志级别。相反,为你的类“覆盖”(没有这样的事情,因为它是一个全局变量),你应该做他们所谓的Fine Grained Logging。也就是说,使用位掩码中的下一位定义日志,然后将全局常量设置为包含或排除您的标志的掩码的按位组合。在链接页面上进一步解释。例子:
添加这些定义
#define LOG_FLAG_FOOD_TIMER (1 << 4) // 0...0010000
#define LOG_FOOD_TIMER (ddLogLevel & LOG_FLAG_FOOD_TIMER)
#define DDLogFoodTimer(frmt, ...) ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_FOOD_TIMER, 0, frmt, ##__VA_ARGS__)
然后在你的类中使用这个宏作为日志语句:
DDLogFoodTimer(@"blah");
并将全局设置为:
static const int ddLogLevel = LOG_LEVEL_WARN | LOG_FLAG_FOOD_TIMER;
在 C 和 Objective-C 中,const关键字创建一个只读变量。关键字 const 适用于紧靠其左侧的任何内容。如果它的左边没有任何东西,它适用于它右边的任何东西。例子:
// a modifiable pointer to a constant integer (its value can't be modified).
const int * i;
// Constant pointer to constant integer.
const int const * i;
extern表示变量在别处定义。像这样定义全局变量是一种常见的风格:
// header file (outside the class definition)
extern NSString* PREFS_MY_CONSTANT;
// implementation file (outside the class definition)
NSString* PREFS_MY_CONSTANT = @"prefs_my_constant";