Full startup await with Done ()! parser

This commit is contained in:
2025-12-08 10:29:37 +01:00
parent 7e7bfbc576
commit 7782e71990
7 changed files with 114 additions and 28 deletions

26
src/parser/mod.rs Normal file
View File

@@ -0,0 +1,26 @@
use regex::Regex;
use crate::{
config::{
LogMeta,
stream::{EventPayload, InstanceEvent, InternalEvent, LogLevel},
},
error::ParserError,
};
impl LogMeta {
pub fn parse_event(&self) -> Result<Option<InternalEvent>, ParserError> {
if self.thread == "Server thread" && self.level == LogLevel::Info {
return self.parse_server_thread_info_lv2();
}
Ok(None)
}
fn parse_server_thread_info_lv2(&self) -> Result<Option<InternalEvent>, ParserError> {
let re = Regex::new(r"Done \([0-9.]+s\)!").unwrap();
if re.is_match(&self.msg) {
return Ok(Some(InternalEvent::ServerStarted));
}
Ok(None)
}
}