1 个不稳定版本
0.1.0 | 2024年6月18日 |
---|
#1143 在 解析器实现
40KB
920 行
journald-export-parser-rs
Rust Journald 导出格式解析器
lib.rs
:
Journald 日志导出格式解析器。
此库包含一个用于 Journald 日志导出格式 的小型解析器。
格式非常灵活。每个流由一系列日志条目组成,每个条目包含一个或多个字段。字段简单地说就是一个键值对,类似于 Unix 进程环境变量。
解析器避免了堆分配,并在具有固定大小的缓冲区上操作。可以使用 config::JournalExportLimits 结构来控制字段的长度和整个条目的大小。
解析逻辑与任何 I/O 逻辑分离。 self::journald::parser::JournalExportParser 包含解析逻辑并管理缓冲区。结构体 [JournalExportAsyncRead] 和 [JournalExportRead] 提供了解析器的异步和同步版本。
实现说明
两者,[JournalExportRead] 和 [JournalExportAsyncRead] 都是具有状态的对象,缓冲了最后解析的日志条目。后者可以通过 get_entry()
方法访问,该方法返回一个 journald::parser::RefEntry 对象。
依赖项
~1.3–2MB
~40K SLoC