pub struct ParsedRecord<'a> {Show 14 fields
pub ts: &'a str,
pub meta_raw: &'a str,
pub ep: &'a str,
pub sess: &'a str,
pub thrd: &'a str,
pub user: &'a str,
pub trxid: &'a str,
pub stmt: &'a str,
pub appname: &'a str,
pub ip: Option<&'a str>,
pub body: &'a str,
pub execute_time_ms: Option<u64>,
pub row_count: Option<u64>,
pub execute_id: Option<u64>,
}Expand description
解析后的日志记录
该结构体包含从日志文本中解析出的所有字段。所有字符串字段都是对原始输入文本的引用, 因此不会产生额外的内存分配。
§字段说明
ts: 时间戳字符串(格式:YYYY-MM-DD HH:MM:SS.mmm)meta_raw: 原始元信息字符串(括号内的内容)ep: 执行计划标识符sess: 会话标识符thrd: 线程标识符user: 用户名trxid: 事务IDstmt: 语句标识符appname: 应用程序名称ip: 客户端IP地址(可选)body: 记录主体内容(SQL语句等)execute_time_ms: 执行时间(毫秒,可选)row_count: 影响的行数(可选)execute_id: 执行ID(可选)
§示例
use dm_database_parser_sqllog::parse_record;
let log_text = "2025-08-12 10:57:09.562 (EP[0] sess:1 thrd:1 user:admin trxid:0 stmt:1 appname:MyApp) SELECT 1";
let parsed = parse_record(log_text);
println!("用户: {}, 事务ID: {}", parsed.user, parsed.trxid);Fields§
§ts: &'a str§meta_raw: &'a str§ep: &'a str§sess: &'a str§thrd: &'a str§user: &'a str§trxid: &'a str§stmt: &'a str§appname: &'a str§ip: Option<&'a str>§body: &'a str§execute_time_ms: Option<u64>§row_count: Option<u64>§execute_id: Option<u64>Trait Implementations§
Source§impl<'a> Clone for ParsedRecord<'a>
impl<'a> Clone for ParsedRecord<'a>
Source§fn clone(&self) -> ParsedRecord<'a>
fn clone(&self) -> ParsedRecord<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for ParsedRecord<'a>
impl<'a> Debug for ParsedRecord<'a>
Source§impl<'a> PartialEq for ParsedRecord<'a>
impl<'a> PartialEq for ParsedRecord<'a>
impl<'a> Eq for ParsedRecord<'a>
impl<'a> StructuralPartialEq for ParsedRecord<'a>
Auto Trait Implementations§
impl<'a> Freeze for ParsedRecord<'a>
impl<'a> RefUnwindSafe for ParsedRecord<'a>
impl<'a> Send for ParsedRecord<'a>
impl<'a> Sync for ParsedRecord<'a>
impl<'a> Unpin for ParsedRecord<'a>
impl<'a> UnwindSafe for ParsedRecord<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more