Cocoalumberjack 为Cocoa Lumberjack os日志创建子系统和类别

Cocoalumberjack 为Cocoa Lumberjack os日志创建子系统和类别,cocoalumberjack,Cocoalumberjack,苹果文档称,它提供了一种在子系统下定义类别的方法,用于过滤特定于该类别的日志()。我查阅了Cocoa Lumberjack库,但似乎没有创建子类别的方法。我们是否可以使用Cocoa Lumberjack library来实现相同的功能?可以添加Cocoa Lumberjack操作系统日志中使用的类别和子系统。您可以添加子系统和类别,如本例所示: ///初始化 对于LoggerCategory.allCases中的类别{ 让logger=DDOSLogger.init(子系统:“com.yourn

苹果文档称,它提供了一种在子系统下定义类别的方法,用于过滤特定于该类别的日志()。我查阅了Cocoa Lumberjack库,但似乎没有创建子类别的方法。我们是否可以使用Cocoa Lumberjack library来实现相同的功能?

可以添加Cocoa Lumberjack操作系统日志中使用的类别和子系统。您可以添加子系统和类别,如本例所示:

///初始化
对于LoggerCategory.allCases中的类别{
让logger=DDOSLogger.init(子系统:“com.yourname”,类别:category.rawValue)
logger.logFormatter=自定义LoggingFormatter(类别:类别)
DDLog.add(记录器)
}
枚举日志类别:字符串,可大小写{
案例测试
var指数:Int{
返回Self.allCases.firstIndex(of:Self)!
}
}
///按上下文中提供的类别筛选消息的自定义日志格式化程序
类CustomLoggingFormatter:NSObject,DDLogFormatter{
let类别:LoggerCategory
///自定义记录器的初始化器,用于筛选具有所提供类别的消息
///-参数类别:将被过滤的类别(针对提供的类别显示)
初始化(类别:LoggerCategory){
self.category=类别
}
func格式(消息日志消息:DDLogMessage)->字符串{
guard logMessage.context==category.index else{return nil}
返回“\(logMessage.message)”
}
}
//用法:
DDLogWarn(“您的消息”,上下文:1)//筛选器的上下文
//控制台中的输出
2020-12-16 16:44:17.899062+0100应用程序[1234:1234][测试]您的消息