Full startup await with Done ()! parser
This commit is contained in:
26
src/parser/mod.rs
Normal file
26
src/parser/mod.rs
Normal 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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user