feat: enhance log filtering by adding support for debug level and updating log hierarchy #4293

This commit is contained in:
Tunglies
2025-08-06 20:49:54 +08:00
parent 7b976c16eb
commit a9cfb2cfaa
4 changed files with 36 additions and 11 deletions

View File

@@ -234,6 +234,19 @@ impl LogsMonitor {
// Filter logs based on level if needed
let should_include = match filter_level {
"all" => true,
"debug" => true, // DEBUG level should include all log types
"info" => {
let log_type = log_data.log_type.to_lowercase();
matches!(log_type.as_str(), "info" | "warning" | "error")
}
"warning" => {
let log_type = log_data.log_type.to_lowercase();
matches!(log_type.as_str(), "warning" | "error")
}
"error" => {
let log_type = log_data.log_type.to_lowercase();
log_type == "error"
}
level => log_data.log_type.to_lowercase() == level.to_lowercase(),
};
@@ -282,10 +295,22 @@ impl LogsMonitor {
.iter()
.filter(|log| {
if let Some(ref filter_level) = level {
if filter_level == "all" {
true
} else {
log.log_type.to_lowercase() == filter_level.to_lowercase()
match filter_level.as_str() {
"all" => true,
"debug" => true, // DEBUG level should include all log types
"info" => {
let log_type = log.log_type.to_lowercase();
matches!(log_type.as_str(), "info" | "warning" | "error")
}
"warning" => {
let log_type = log.log_type.to_lowercase();
matches!(log_type.as_str(), "warning" | "error")
}
"error" => {
let log_type = log.log_type.to_lowercase();
log_type == "error"
}
level => log.log_type.to_lowercase() == level.to_lowercase(),
}
} else {
true