diff --git a/crates/obs/src/telemetry.rs b/crates/obs/src/telemetry.rs index ad021b74..69966e19 100644 --- a/crates/obs/src/telemetry.rs +++ b/crates/obs/src/telemetry.rs @@ -330,6 +330,17 @@ pub fn init_telemetry(config: &OtelConfig) -> OtelGuard { // Parsing the log level let log_spec = LogSpecification::parse(logger_level).unwrap_or(LogSpecification::info()); + // Convert the logger_level string to the corresponding LevelFilter + let level_filter = match logger_level.to_lowercase().as_str() { + "trace" => flexi_logger::Duplicate::Trace, + "debug" => flexi_logger::Duplicate::Debug, + "info" => flexi_logger::Duplicate::Info, + "warn" | "warning" => flexi_logger::Duplicate::Warn, + "error" => flexi_logger::Duplicate::Error, + "off" => flexi_logger::Duplicate::None, + _ => flexi_logger::Duplicate::Info, // the default is info + }; + // Configure the flexi_logger let flexi_logger_result = flexi_logger::Logger::with(log_spec) .log_to_file( @@ -340,7 +351,7 @@ pub fn init_telemetry(config: &OtelConfig) -> OtelGuard { ) .rotate(rotation_criterion, Naming::Timestamps, Cleanup::KeepLogFiles(keep_files.into())) .format_for_files(format_for_file) // Add a custom formatting function for file output - .duplicate_to_stdout(flexi_logger::Duplicate::Info) + .duplicate_to_stdout(level_filter) // Use dynamic levels .format_for_stdout(format_with_color) // Add a custom formatting function for terminal output .write_mode(WriteMode::Async) .start(); diff --git a/scripts/run.sh b/scripts/run.sh index aebca09b..d3daf4d0 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -44,7 +44,7 @@ export RUSTFS_CONSOLE_ADDRESS=":9001" #export RUSTFS_OBS_SERVICE_NAME=rustfs # 服务名称 #export RUSTFS_OBS_SERVICE_VERSION=0.1.0 # 服务版本 #export RUSTFS_OBS_ENVIRONMENT=develop # 环境名称 -#export RUSTFS_OBS_LOGGER_LEVEL=debug # 日志级别,支持 trace, debug, info, warn, error +export RUSTFS_OBS_LOGGER_LEVEL=debug # 日志级别,支持 trace, debug, info, warn, error export RUSTFS_OBS_LOCAL_LOGGING_ENABLED=true # 是否启用本地日志记录 export RUSTFS_OBS_LOG_DIRECTORY="./deploy/logs" # Log directory export RUSTFS_OBS_LOG_ROTATION_TIME="minute" # Log rotation time unit, can be "second", "minute", "hour", "day"