DRYLogging 3.0.1

DRYLogging 3.0.1

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2016年12月
SwiftSwift 版本3.0
SPM支持 SPM

Mike Seghers 维护。



  • 作者
  • Michael Seghers

DRYLogging

DRYLogging 是一个基于其他语言中看到的日志框架的 Swift 日志框架。

简要概述

这些日志框架背后的理念是,日志记录器本质上属于分层结构。这使得配置常见的日志级别以及日志消息写入底层数据系统的方式变得容易。

如果一个日志记录器没有任何特定的级别信息,它将向其父级询问应该在哪个级别进行日志记录。这意味着您不需要为系统中的每个日志记录器配置一个级别。然而,如果您想为特定的日志记录器(及其子记录器)在不同级别上进行日志记录,您可以覆盖父级的设置。您甚至可以实时更改日志级别,或者在您的开发的不同步骤中有不同的日志配置。

此外,如果一个父级有一个所谓的“附加器”,它的子级也将将其日志消息附加到这个附加器上。

在将日志消息附加到附加器之前,会使用日志格式化程序将消息格式化为字符串。

附加器本身可以通过使用过滤器机制来决定是否接受或拒绝一条消息。

有关更详细的信息,您应该查看可选文档,可在 CocoaDocs 上找到,并可在 Git 仓库的 Example 目录中找到示例项目。

用法

为了运行示例项目,首先克隆仓库,然后从 Example 目录运行 pod install

TL;DR 版本

在需要记录日志的地方导入 DRYLogging

import DRYLogging

使用 LoggerFactory 创建一个日志记录器

//Create a logger named "FancyLogger". This logger will automatically have the root logger as its parent.
let logger = LoggerFactory.logger(named: "FancyLogger")

如果您希望您的消息出现在控制台中,请将控制台附加器添加到您的日志记录器(或其父级之一)。将附加器添加到根日志记录器,可以确保所有日志记录器都可以附加其消息。

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss.SSS"
let formatter = ClosureBasedMessageFormatter(closure: {
return "[\($0.level) - \(dateFormatter.string(from: $0.date))] <T:\($0.threadName) - S:\($0.className) - M:\($0.methodName) - L:\($0.lineNumber)> - \($0.message)"
})
LoggerFactory.rootLogger.add(appender: ConsoleAppender(formatter: formatter))

默认情况下,根日志记录器将将其级别设置为 LogLevel.info,因此当我们添加附加器后,将显示 info、warning 和 error 日志。

现在我们准备好记录日志了

let world = "earth"
logger.info("Hello, \(world)")

这条消息将被打印到控制台。

您可以在示例应用中看到这种情况。

有关日志级别和附加器的更多信息,请参阅 API 文档。

安装

DRYLogging 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod "DRYLogging"

作者

Mike Seghers,AppFoundry

许可证

DRYLogging 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。