Skip to main content

LogFormat

Trait LogFormat 

Source
pub trait LogFormat: 'static {
    type Event: LogRecord;

    const FRAMING: RecordFraming;

    // Required methods
    fn is_record_start(line: &str) -> bool;
    fn parse_record(
        record: &str,
        line_number: u64,
    ) -> Result<Self::Event, ParseError>;
}
Expand description

一个可插拔的驱动日志格式适配器。

新增格式时只需要实现这个 trait,并为事件实现 LogRecord;文件迭代和 通用过滤器无需重新实现。

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn is_record_start(line: &str) -> bool

判断一条物理行是否是该格式的记录头。

Source

fn parse_record( record: &str, line_number: u64, ) -> Result<Self::Event, ParseError>

将一条已按 framing 合并的原始记录转换为拥有数据的事件。 实现应将 line_number 和 raw 写入事件;解析错误可以只描述格式, 通用引擎会补充原文和文件行号。

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§