OSLogger
一个在 Swift 和 Objective-C 上保持日志一致性的日志系统。
安装
Cocoa Pods
需要 Cocoapods 1.5.0 或更高版本。
target '<you project target>' do
pod 'OSLogger'
end
使用
Swift 使用
导入模块
import OSLogger
设置日志记录器,建议使用 OSLogger 协议而不是直接使用适配器。
let logger: OSLogger = CocoaLumberjackAdapter(logLevel: .info)
logger.startConsoleLogger() // Should only be used when running from Xcode
logger.startFileLogger()
要检索日志文件
let logFiles = logger.getLogFiles()
for logFile in logFiles {
<do something with the log files>
}
在 Swift 代码中使用来制作日志
OSLogVerbose("This is a log from Swift code")
OSLogDebug("This is a log from Swift code")
OSLogInfo("This is a log from Swift code")
OSLogWarn("This is a log from Swift code")
OSLogError("This is a log from Swift code")
Objective-C 使用
为了导入模块
@import OSLogger;
设置日志记录器,建议使用 OSLogger 协议而不是直接使用适配器。
id<OSLogger> logger = [[CocoaLumberjackAdapter alloc] initWithLogLevel:LogLevelInfo];
[logger startConsoleLogger]; // Should only be used when running from Xcode
[logger startFileLogger];
要检索日志文件
for (NSURL *logFile in logger.getLogFiles) {
if (logFile) <do something with the log files>
}
要在 Objective-C 代码中记录日志,使用
OSLogVerbose(@"This is a log from Objective-C code")
OSLogDebug(@"This is a log from Objective-C code")
OSLogInfo(@"This is a log from Objective-C code")
OSLogWarn(@"This is a log from Objective-C code")
OSLogError(@"This is a log from Objective-C code")
输出将包括日期、消息类型(信息、调试、错误等...),然后是日志信息:“2019-07-22 18:26:32: 信息 - Hello World!”
TODO:更多适配程序?
因为 OSLogger 是一个协议,所以库可以被扩展以支持其他实现,例如 Apple 框架日志:Swift:print() Objc:NSLog() 或类似的实现,如 Cocoalumberjack,优势在于这种变化只需要在使用 OSLogger 的项目的主体代码中进行几行代码的更改。
许可证
此项目受 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。