在CocoaLumberjack中,如何仅将特定级别的日志记录到文件中?

时间:2017-03-14 09:18:22

标签: objective-c logging

基本上我自定义了一个自定义日志级别,我想将该特定级别的消息记录到文件中。我不希望任何其他级别的消息都记录到文件中。然而,似乎伐木工人没有提供这种延伸。

我尝试了对DDFileLogger进行子类化并覆盖其logMessage选择器。但是,执行此操作将导致每个日志记录在不​​同的日志文件中。 (也就是说,每次登录时我都会有一个单独的日志文件。)我不确定它是如何结束的,也无法找到解决方案。

还有其他建议吗?

仅供参考:

平台:iOS

DDFileLogger的子类化如下。

@interface BBFileLogger ()
@property (nonatomic) NSUInteger logFlag;
@end

@implementation BBFileLogger
- (instancetype)initWithLogFlag:(int)logFlag logFileManager:(id<DDLogFileManager>)fileManager
{
    self = [super initWithLogFileManager:fileManager];
    if (self) {
        self.logFlag = logFlag;
    }
    return self;
}

- (void)logMessage:(DDLogMessage *)logMessage
{
    if (logMessage->logFlag != self.logFlag) {
        return ;
    }

    [super logMessage:logMessage];
}
@end

0 个答案:

没有答案