#journald #systemd #export #journal #field #sync #async-read

journald-export-parser-rs

Journald 日志导出格式解析器

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