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§
const FRAMING: RecordFraming
Required Associated Types§
Required Methods§
Sourcefn is_record_start(line: &str) -> bool
fn is_record_start(line: &str) -> bool
判断一条物理行是否是该格式的记录头。
Sourcefn parse_record(
record: &str,
line_number: u64,
) -> Result<Self::Event, ParseError>
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".