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修复了这个问题。