测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年4月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Ayush Newatia 维护。
分支 | 构建状态 |
---|---|
开发 | |
主 |
SwiftLogger 被设计成一个简单、易于使用、没有额外功能的日志库。它允许您在不同等级上记录消息,并将日志消息格式化,以便您确切知道它们是从哪里和什么时间记录的。这个库优先考虑易用性,而不是可扩展性。
SwiftLogger 有 6 个日志级别,可以在任何时候设置或更改。
这些等级是
只打印设置日志级别或以下的日志。
确保您在每个希望使用此库的文件顶部有下面的行
import SwiftLogger
可以使用此方法设置日志级别
SwiftLogger.logLevel = .Verbose
如果没有设置,则默认为 .Debug
。The SwiftLogger.LogLevel
枚举包含上述 6 个日志级别的值。
我建议您在您的应用程序委托方法 application:didFinishLaunchingWithOptions
中设置日志级别。如果您希望,也可以通过调试设置屏幕来更改日志级别。
使用这 5 个方法可以在不同的日志级别打印日志
Log.error("Something has gone horribly wrong.")
Log.warning("Something might go wrong.")
Log.info("This is some useful information.")
Log.debug("This is a debug message.")
Log.verbose("This is some very specific information")
打印到控制台的消息将如下所示
28-09-2015 19:40:53.535 [Info] ViewController.swift:16 viewDidLoad(): Info message
SwiftLogger内置了集合的日志功能,如果当前日志级别不需要记录集合,它不会消耗资源进行反复迭代。
要记录集合中的对象,所有包含的对象必须遵守Loggable
协议。它只包含以下签名的一个方法:func log() -> String
。所有的NSObjects
都遵守此协议,并默认返回其description
属性。大多数Swift原始类型也默认遵守Loggable
协议!
当键和值都是Loggable
时,可以记录字典。
下面的代码演示了如何将集合记录到控制台
func collectionLoggingTest() {
let anArray = ["one","two","three","four"]
Log.debug(anArray)
}
记录集合时,您可以选择指定前缀,如下
func collectionLoggingTest() {
let anArray = ["one","two","three","four"]
Log.debug(anArray, prefix: "anArray")
}
集合日志消息如下所示
23-01-2016 23:35:15.528 [Debug] ViewController.swift:27 collectionLoggingTest():
one
two
three
four
或者使用前缀
08-08-2016 23:05:37.420 [Debug] ViewController.swift:27 collectionLoggingTest(): anArray
one
two
three
four
SwiftLogger至少需要iOS 8和ARC。
将代码迁移到Swift 3.0。
将代码迁移到Swift 2.3。从这次发布开始,Swift 2.3不会有更多新特性或补丁。
修复了文档错误
添加了对Dictionary
的支持。
增加了单元测试覆盖率。
增加了集合日志时可以选择前缀的选项。
修复了Swift 2.2中的弃用警告,并添加了更多的单元测试。
修复了文档错误。
添加了新的功能来记录CollectionType
。 [但是除了Dictionaries
:( ]
修改了日志级别的顺序。
初始版本
我正在寻找一个功能,可以将消息记录到文件以及控制台。
Ayush Newatia, [email protected]
SwiftLogger可在MIT许可下使用。有关更多信息,请参阅LICENSE.md文件。