请 star 这个 github 仓库以保持更新。
TraceLog 是一个高度可配置、灵活、便携且易于使用的调试日志系统,适用于在 Linux、macOS、iOS、watchOS 和 tvOS 上运行的 Swift 和 Objective-C 应用程序。
Writer
以插入 TraceLog 中,以满足自定义用例。log
语句,并在任何平台上获得有用的输出。OutputStreamWriter
s)OutputStreamWriter
一起使用。OutputStreamWriter
一起使用。TraceLog 开箱即用,非常简单。虽然 TraceLog 是高度可配置的,但要开始使用,您只需将 pod 添加到您的项目中,将 TraceLog 导入到需要日志记录的文件中,然后在您需要的地方开始添加日志语句。TraceLog 会自行初始化并为您完成所有其他操作。
在您的 Podfile
中添加 TraceLog。
target 'MyApp'
pod "TraceLog", '~>5.0'
如果您有混合的 Swift 和 Objective-C 代码,您必须指定子规范以启用 Objective-C,如下所示
target 'MyApp'
pod "TraceLog", '~>5.0'
pod "TraceLog/ObjC", '~>5.0'
将 TraceLog 导入到您的文件中并开始日志记录。
import TraceLog
struct MyStruct {
func doSomething() {
logInfo { "A simple TraceLog Test message" }
}
}
TraceLog 具有以下主要日志记录函数,用于记录各种级别的信息。这些函数的输出可以通过运行时环境变量或在应用程序启动时通过 TraceLog.configure()
函数以编程方式进行控制。
logError (tag: String?, message: @escaping () -> String)
logWarning(tag: String?, message: @escaping () -> String)
logInfo (tag: String?, message: @escaping () -> String)
logTrace (tag: String?, level: UInt, message: @escaping () -> String)
logTrace (level: UInt, @escaping message: () -> String)
注意:为了简洁起见,省略了隐藏参数和默认值。
虽然不是严格要求,但在启动时调用 TraceLog.configure()
命令将允许 TraceLog 读取环境以获取配置信息。
只需在启动代码中尽早调用 configure 且不带任何参数(最好在调用任何日志语句之前)。
TraceLog.configure()
有关完整的文档集,包括用户指南、100% 文档化的 API 参考和更多示例,请参阅 https://tonystone.io/tracelog。
Swift 实现旨在利用 Swift 编译器优化,并且在启用优化 (-O
) 并定义 TRACELOG_DISABLED
时,不会产生任何开销。
Objective-C 实现旨在利用预处理器,并且在定义 TRACELOG_DISABLED
的情况下编译时,不会在应用程序中产生任何开销。
对于 XCode,可以在项目目标中设置 TRACELOG_DISABLED
。对于 Swift Package Manager,请将 swiftc 指令传递给 swift build
,如以下示例所示。
swift build -Xswiftc -DTRACELOG_DISABLED
构建环境
平台 | 版本 | Swift | Swift 构建 | Xcode |
---|---|---|---|---|
Linux | Ubuntu 14.04、16.04、16.10 | 5.0 | ✔ | ✘ |
OSX | 10.13 | 5.0 | ✔ | Xcode 10.x |
最低运行时版本
iOS | OS X | tvOS | watchOS | Linux |
---|---|---|---|---|
9.0 | 10.13 | 9.0 | 2.0 | Ubuntu 14.04、16.04、16.10 |
注意
要在 Linux 上构建和运行,我们有一个预配置的 Vagrant 文件,位于 https://github.com/tonystone/vagrant-swift
请参阅 README 获取说明。
TraceLog 现在支持通过 Swift Package Manager 在所有 Apple OS 变体以及 Linux 上进行依赖项管理。
有关更多信息,请参阅 Swift Package Manager。
TraceLog 可通过 CocoaPods 获得。请参阅 快速入门指南,了解如何通过 CocoaPods 安装。
有关 CocoaPods 本身的更多信息,请参阅 “Using CocoaPods” 指南。
Tony Stone (https://github.com/tonystone)
TraceLog 在 Apache License, Version 2.0 下发布。