Add: default logging filter to suppress geoip logging

This commit is contained in:
DaZuo0122
2026-01-17 12:54:24 +08:00
parent c538e31174
commit 840ceec38f
2 changed files with 18 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ use std::path::{Path, PathBuf};
use time::format_description::well_known::Rfc3339;
use time::OffsetDateTime;
use tracing_subscriber::prelude::*;
use tracing_subscriber::EnvFilter;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommandEnvelope<T> {
@@ -227,9 +228,10 @@ fn init_logging_text(
log_file: Option<&PathBuf>,
) -> Result<LoggingHandle, Box<dyn std::error::Error>> {
let (writer, guard) = logging_writer(log_file)?;
let filter = build_log_filter(level_filter);
let layer = tracing_subscriber::fmt::layer()
.with_writer(writer)
.with_filter(level_filter);
.with_filter(filter);
tracing_subscriber::registry().with(layer).init();
Ok(LoggingHandle { _guard: guard })
}
@@ -239,14 +241,27 @@ fn init_logging_json(
log_file: Option<&PathBuf>,
) -> Result<LoggingHandle, Box<dyn std::error::Error>> {
let (writer, guard) = logging_writer(log_file)?;
let filter = build_log_filter(level_filter);
let layer = tracing_subscriber::fmt::layer()
.with_writer(writer)
.json()
.with_filter(level_filter);
.with_filter(filter);
tracing_subscriber::registry().with(layer).init();
Ok(LoggingHandle { _guard: guard })
}
fn build_log_filter(level_filter: tracing_subscriber::filter::LevelFilter) -> EnvFilter {
if let Ok(filter) = EnvFilter::try_from_env("NETTOOL_LOG_FILTER") {
return filter;
}
if let Ok(filter) = EnvFilter::try_from_default_env() {
return filter;
}
EnvFilter::default()
.add_directive(level_filter.into())
.add_directive("maxminddb::decoder=off".parse().unwrap())
}
fn logging_writer(
log_file: Option<&PathBuf>,
) -> Result<