一个轻量级的 Swift 日志记录器,以彩色输出使用 print
在调试中,使用 NSLog
在生产中。
在 Swift 中,我们通常使用 print
将信息记录到控制台。然而,在生产版本中不会记录任何内容。
因此,我们希望在生产中使用 NSLog
,但仍希望保留开发和 print
的效率。(print
比较快于 NSLog
)。
该项目始于半年多前,名为 ZHSwiftLogger。当时,没有其他 Swift 日志记录器提供此功能。因此,我为此开发了这个日志记录器作为个人使用。
如今,我们有了越来越多的优秀的 Swift 日志记录器。而 Loggerithm 轻量级、简单直接且方便使用。
print
,在生产中使用 NSLog
。NSLog
。Swift 包管理器(https://swiftlang.cn/package-manager/)是用于自动分发 Swift 代码的工具,并集成到 swift
编译器中。它处于早期开发阶段,但 Loggerithm 支持在支持的平台上使用。
一旦您已经设置了 Swift 包,将 Loggerithm 添加为依赖关系就像将它添加到 Package.swift
的 dependencies
值一样简单。
dependencies: [
.Package(url: "https://github.com/honghaoz/Loggerithm.git", majorVersion: 1)
]
将 Source 文件夹中的 Swift 文件添加到您的项目中
将 DEBUG
标志添加到 Swift 编译器
需要安装 XcodeColors 插件。
当 XcodeColors 安装并正确加载后。为了让记录器自动开启,你需要在你的构建方案中添加环境变量 "XcodeColors" = "YES"
。
可以通过以下方式实现
你也可以通过修改 useColorfulLog
属性来手动强制开启/关闭彩色输出。
如果你使用 CocoaPods 集成 Loggerithm,先导入 Loggerithm。
import Loggerithm
var log = Loggerithm()
// Usage example
log.verbose("Verbose message...")
log.debug("Debug message...")
log.info("Info message...")
log.warning("Warning message...")
log.error("Error message...")
默认情况下,开发模式下 logLevel
为 .Verbose
,生产模式下为 .Warning
。
LogLevel
从低到高的排序为:
.All
.Verbose
.Debug
.Info
.Warning
.Error
.Off
低于 logLevel
级别的日志将被忽略。
日志字符串包含 5 个字段,格式为:
y-MM-dd HH:mm:ss.SSS [LogLevel] [FileName:LineNumber] functionName: message
所有日志字段都可以开启/关闭。
var log = Loggerithm()
log.showDateTime = false
log.info("date time is turned off.")
log.showLineNumber = false
log.info("Line number is turned off.")
log.showFileName = false
log.info("File name is turned off.")
log.showFunctionName = false
log.info("Function name is turned off.")
log.showLogLevel = false
log.info("Log level is turned off.")
log.emptyLine()
log.info("Restoring to full format...")
var log = Loggerithm()
log.verbose("I can use format: %d + %d = %d", args: 1, 1, 2)
更多信息请参见 安装/彩色输出支持。
可以通过修改 useColorfulLog
来开启/关闭彩色输出。
log.useColorfulLog = false
log.info("Color is turned off.")
log.useColorfulLog = true
log.info("Color is turned on.")
注意,如果你没有安装 XcodeColors 插件但开启了 useColorfulLog
,这会导致隐藏的彩色设置代码可见。
[fg190,190,190;2015-08-14 16:55:34.075 [Verbose] [ViewController.swift:34] viewDidLoad(): Verbose message...[;
[fg60,161,202;2015-08-14 16:55:34.076 [Debug] [ViewController.swift:35] viewDidLoad(): Debug message...[;
var log = Loggerithm()
log.verboseColor = UIColor.grayColor()
log.debugColor = UIColor.greenColor()
log.infoColor = UIColor.yellowColor()
log.warningColor = UIColor.orangeColor()
log.errorColor = UIColor.redColor()
log.verbose("Verbose message...")
log.debug("Debug message...")
log.info("Info message...")
log.warning("Warning message...")
log.error("Error message...")
MIT 许可协议(MIT)版权所有 © 2014 张宏昊
以下条件,任何人免费获此软件及其相关文档副本(以下简称“软件”),可不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许人员使用软件,前提是软件提供给人员的副本必须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用特定目的和不侵犯专利权。在任何情况下,作者或版权持有人均不对任何主张、损害或责任承担任何责任,无论是因合同、侵权或其他方式产生的,引发于、源于或与此软件或使用或操作软件相关。