我在我的项目中使用了 CocoaLumberjack 日志框架,我注意到的一件奇怪的事情是它没有记录我代码中后台线程上的语句。据ddLogLevel
我检查,它与 .
我将其定义为AppDelegate.h
:
extern const int ddLogLevel;
然后在AppDelegate.m
:
const int ddLogLevel = LOG_LEVEL_VERBOSE;
如果我在主线程上记录一些东西,它就可以工作。但是,在后台线程上,如下所示,它仅在我声明一个int
内部时才有效,我不想这样做。
- (void)fetchNumberofTotalItems {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
int ddLogLevel = LOG_LEVEL_VERBOSE;
...
DDLogVerbose(@"%@: Fetching total number of items!", [self class]);
});
}
如果我删除该int ddLogLevel = LOG_LEVEL_VERBOSE;
行,它将不会记录。
任何人都知道如何让它尊重我的变量AppDelegate
?