SWLogger 0.2.0

SWLogger 0.2.0

测试经过测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年12月
SPM支持 SPM

Eddie Long维护。



SWLogger 0.2.0

  • 作者:
  • Eddie Long

SWLogger

一个简单的Swift Logger

警告:此库正在进行积极开发,到目前为止所有测试都稳定。有关更多信息,请参阅TODO部分。

功能

  • 每个日志的日志级别
  • 每个日志的标签
  • 运行时标签筛选
  • 日志消息的日志文件和函数源
  • 全局运行时按日志级别筛选日志
  • 易于钩入以接收和处理日志

用法

记录一个调试消息

Log.d("My log")

记录一个错误消息

Log.e("My error log")

记录一个具有特定标签的消息

Log.i("My message", "TAG")

记录包含自定义额外数据的消息

Log.i("My message", "TAG", extra:123)

可用的日志级别

  • 详细信息 (Log.v)
  • 调试 (Log.d)
  • 信息 (Log.i)
  • 警告 (Log.w)
  • 错误 (Log.e)

筛选消息

默认情况下,在发布版中只允许警告消息。在调试模式下,允许调试消息。

将应用的日志级别设置为错误(小于此级别的所有内容都不会被记录)

Log.setLevel(level: .error)

按标签(s)筛选日志

Log.setTagFilters(tags: ["MainVC"])

默认日志处理器

系统中已经有一个内置的日志处理器,且默认设置合理。如果需要不同的行为,建议实现自己的处理器并禁用默认处理器。

消息被记录的日志文件(包括行号),例如:MainViewController.swift:70

DefaultLogHandler.logFileDetails(true)

记录消息的日志函数,例如:tableView(_:cellForRowAt:)

DefaultLogHandler.logFunc(true)

默认文件处理器

提供另一个处理器的示例,即文件处理器,它允许将日志记录到磁盘。创建处理器时,会在Documents目录中创建一个带有时间戳的日志文件“2017-10-02-09-48-37995.log”。日志按到达的顺序写入此文件。此日志处理器默认不启用。以下为示例用法;

Log.addHandler(DefaultFileHandler())

实现自定义处理器

class MyLogHandler : LogHandler {
	public func logMessage(log: LogLine, tag: String, level: LogLevel) {
          // log.extra is available to use in any way desired. NSNull by default
    }
}

注册日志处理器

Log.addHandler(MyLogHandler())

或移除日志处理器

Log.removeHandler(handler)

如果您想自行处理所有日志,请禁用默认日志处理器

Log.enableDefaultLogHandler = false

测试

查看SWLoggerTests/SwiftTests.swift以获取库的测试示例。

待办事项

  • 线程安全
  • 提供一种方法,使得处理器可以拥有与全局日志级别不同的日志级别