一个简单的 Rust 库,可帮助解析 macOS 统一日志(Unified Log)文件。
统一日志(Unified Logs)于 macOS 10.12(Sierra,2016)中引入。这是
苹果为所有 Apple 产品创建统一日志格式的目标的一部分。它们存在于
macOS、iOS、watchOS、tvOS 上。统一日志取代了苹果使用的许多旧日志
格式。这个库可用于解析这些日志文件。
当前可提取的数据包括:
提供了一个示例二进制文件可供下载
unifiedlog_iterator - 可以将日志存档(logarchive)解析为 JSOL 或 CSV 文件。它还可以解析活动系统上的日志。输出文件会相当大它已经过数百万条日志条目的测试。然而,由于统一日志格式的复杂性,存在一些限制:
不支持 printf 风格错误码查找。该库不会对日志消息执行任何错误码查找。macOS 原生的 log 命令在遇到 printf 风格的 %m 消息时支持错误码查找。
例如日志消息:'Failed to open file, error: %m'
a. 该库输出:
Failed to open file, error: 1
b. macOS 的 Log 命令输出:
Failed to open file, error: no such file or directory
该库支持日志消息中的大多数自定义对象。但是,不支持的对象将采用 base64 编码