日志管理工具 - CocoaLumberjack
CocoaLumberjack
CocoaLumberjack是适用于 macOS、iOS、tvOS 和 watchOS 的快速简单但功能强大且灵活的日志记录框架。
首先,通过CocoaPods、Carthage、Swift Package Manager或手动安装 CocoaLumberjack 。然后使用DDOSLogger
iOS 10 及更高版本,或DDTTYLogger
和DDASLLogger
早期版本开始记录消息。
CocoaPods
platform :ios, '9.0'
target 'SampleTarget' do
use_frameworks!
pod 'CocoaLumberjack/Swift'
end
platform :ios, '9.0'
target 'SampleTarget' do
pod 'CocoaLumberjack'
end
Carthage
github "CocoaLumberjack/CocoaLumberjack"
用法
@import CocoaLumberjack;
. 除此以外,#import
Objective-C ARC 语义问题
将 Lumberjack 集成到现有的 Objective-C 中时,可能会遇到Multiple methods named 'tag' found with mismatched result, parameter type or attributes
构建错误。
#define DD_LEGACY_MESSAGE_TAG 0
在导入 CocoaLumberjack 之前添加或添加#define DD_LEGACY_MESSAGE_TAG 0
或添加-DDD_LEGACY_MESSAGE_TAG=0
到Xcode 项目中的其他 C 标志/ OTHER_CFLAGS。
快速日志后端
CocoaLumberjack 还附带了swift-log的后端实现。只需将 CocoaLumberjack 作为依赖项添加到您的 SPM 目标(见上文),并将CocoaLumberjackSwiftLogBackend
产品作为依赖项添加到您的目标。
然后,您可以将DDLogHandler
其用作 swift-log 的后端,它将所有消息转发到 CocoaLumberjack 的DDLog
. 您仍将通过 配置您想要的记录器和日志格式化程序DDLog
,但将使用Logger
swift-log完成写入日志消息。
在您自己的日志格式化程序中,您可以使用swiftLogInfo
on 属性DDLogMessage
来检索通过 swift-log 记录的消息的详细信息。
在大多数情况下,它比 NSLog 快一个数量级。
当您的应用程序启动时,只需一行代码即可配置 lumberjack。然后只需将您的 NSLog 语句替换为 DDLog 语句即可。(而且 DDLog 宏的格式和语法与 NSLog 完全相同,因此非常简单。)
一个日志语句可以发送到多个记录器,这意味着您可以同时记录到一个文件和控制台。想要更多?创建您自己的记录器(这很容易)并通过网络发送您的日志语句。或者到数据库或分布式文件系统。天空才是极限。
根据需要配置您的日志记录。更改每个文件的日志级别(非常适合调试)。更改每个记录器的日志级别(详细控制台,但简洁的日志文件)。更改每个 xcode 配置的日志级别(详细调试,但简洁发布)。将您的日志语句从发布版本中编译出来。为您的应用程序自定义日志级别的数量。添加您自己的细粒度日志记录。在运行时动态更改日志级别。选择您希望日志文件滚动的方式和时间。将您的日志文件上传到中央服务器。压缩归档日志文件以节省磁盘空间...
在以下情况下,此框架适合您:
- 您正在寻找一种方法来追踪该领域不断出现的无法重现的错误。
- 您对 iPhone 上超短的控制台日志感到沮丧。
- 您希望将您的应用程序在支持和稳定性方面提升到一个新的水平。
- 您正在为您的应用程序(Mac 或 iPhone)寻找企业级日志记录解决方案。
要求
当前版本的 Lumberjack 要求:
- Xcode 12 或更高版本
- Swift 5.3 或更高版本
- iOS 9 或更高版本
- macOS 10.10 或更高版本
- watchOS 3 或更高版本
- tvOS 9 或更高版本