注册

日志管理工具 - CocoaLumberjack

CocoaLumberjack

CocoaLumberjack是适用于 macOS、iOS、tvOS 和 watchOS 的快速简单但功能强大且灵活的日志记录框架。

首先,通过CocoaPodsCarthageSwift Package Manager或手动安装 CocoaLumberjack 然后使用DDOSLoggeriOS 10 及更高版本,或DDTTYLoggerDDASLLogger早期版本开始记录消息。

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"

用法

如果您使用 Lumberjack 作为框架,则可以@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=0Xcode 项目中的其他 C 标志OTHER_CFLAGS

快速日志后端

CocoaLumberjack 还附带了swift-log的后端实现只需将 CocoaLumberjack 作为依赖项添加到您的 SPM 目标(见上文),并将CocoaLumberjackSwiftLogBackend产品作为依赖项添加到您的目标。

然后,您可以将DDLogHandler其用作 swift-log 的后端,它将所有消息转发到 CocoaLumberjack 的DDLog您仍将通过 配置您想要的记录器和日志格式化程序DDLog,但将使用Loggerswift-log完成写入日志消息

在您自己的日志格式化程序中,您可以使用swiftLogInfoon 属性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 或更高版本



0 个评论

要回复文章请先登录注册