Logg 2.1.0

Logg 2.1.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2019年6月
SPM支持SPM

Juanjo Arreola维护。



Logg 2.1.0

  • Juanjo Arreola

Swift的日志框架

Cocoapods Platform License

用法

Log.debug("Current loggers: \(Log.loggers)")
Log.warn("Using formatter: \(Log.loggers.first!.formatter)")
Log.error(TestError.invalid)
Log.severe("some error")
打印
04-21 13:04:30.040 LoggTests.swift testFileLogger() [14] ℹ️ Debug: Current loggers: [Logg.ConsoleLogger]
04-21 13:04:30.041 LoggTests.swift testFileLogger() [15] ⚠️ Warning: Using formatter: Logg.DefaultFormatter
04-21 13:04:30.041 LoggTests.swift testFileLogger() [16] ❗ Error: invalid
04-21 13:04:30.041 LoggTests.swift testFileLogger() [17] ‼️ Severe: some error

配置

Log 类负责将消息调度到所有日志记录器,你可以通过修改日志记录器的静态属性来配置这些日志记录器。

if debug {
  Log.loggers = [ConsoleLogger()]
} else {
  Log.loggers = [CustomLogger(level: [.error, .severe])]
}

每个日志记录器都有一个名为 level 的属性,你可以自定义它。

let consoleLogger = Log.loggers.first
consoleLogger?.level = [.debug, .warning]

level 是一个包含4个基本值的 OptionSetdebugwarningerrorsevere,以及额外的 allnone

日志记录器

您可以使用自定义并注册自己的日志记录器,只需实现Logger协议并将其实例添加到Log类的loggers静态属性中。该Logger协议定义了几个属性level(级别)和formatter(格式化器),以及四个函数:debugwarnerrorsevere,它们对应于日志级别。

格式化器

您可以创建您自己的格式化器并将其用于您想要的日志记录器,只需创建一个实现Formatter协议的类并将其分配给日志记录器即可。

let consoleLogger = Log.loggers.first
consoleLogger?.formatter = CustomFormatter()