for_each_sqllog_in_string

Function for_each_sqllog_in_string 

Source
pub fn for_each_sqllog_in_string<F>(
    content: &str,
    callback: F,
) -> Result<usize, ParseError>
where F: FnMut(&Sqllog),
Expand description

从字符串流式解析 Sqllog,对每个解析后的记录调用回调函数

这是 for_each_sqllog 的字符串版本,适合处理内存中的日志内容。

§参数

  • content - 包含日志内容的字符串
  • callback - 处理每个 Sqllog 的回调函数

§返回

  • Ok(usize) - 成功处理的记录数量
  • Err(ParseError) - 解析错误

§示例

use dm_database_parser_sqllog::for_each_sqllog_in_string;

let log = "2025-08-12 10:57:09.548 (EP[0] sess:123 thrd:456 user:alice trxid:789 stmt:999 appname:app) SELECT 1";
let count = for_each_sqllog_in_string(log, |sqllog| {
    println!("会话: {}, 用户: {}", sqllog.meta.sess_id, sqllog.meta.username);
}).unwrap();
assert_eq!(count, 1);