Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在CocoaLumberjack中,如何只将特定级别的日志记录到文件中?_Objective C_Logging - Fatal编程技术网

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

Objective c 在CocoaLumberjack中,如何只将特定级别的日志记录到文件中?,objective-c,logging,Objective C,Logging,基本上,我自己定义了一个自定义日志级别,我只想将特定级别的消息记录到文件中。我不希望任何其他级别的消息被记录到文件中。然而,伐木工人似乎没有提供这种扩展 我尝试子类化DDFileLogger并覆盖其logMessage选择器。但是,这样做将导致每个日志记录在不同的日志文件中。(也就是说,每次登录时我都会有一个单独的日志文件。)我不确定它是如何结束的,也找不到解决方案 还有其他建议吗 供参考: 平台:iOS DDFileLogger的子类化如下所示 @interface BBFileLogger

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

我尝试子类化
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
@接口BBFileLogger()
@属性(非原子)整数logFlag;
@结束
@文件记录器的实现
-(instancetype)initWithLogFlag:(int)logFlag logFileManager:(id)fileManager
{
self=[super initWithLogFileManager:fileManager];
如果(自我){
self.logFlag=logFlag;
}
回归自我;
}
-(void)logMessage:(DDLogMessage*)logMessage
{
if(logMessage->logFlag!=self.logFlag){
返回;
}
[超级日志信息:日志信息];
}
@结束

请添加到目前为止您尝试过的代码。我已经找到了。这是因为我使用的CocoaLumberjack版本已经过时(1.9.x)。更新pod修复了这个问题。