improve flexi_logger relation

This commit is contained in:
houseme
2025-06-24 09:19:26 +08:00
parent 3d5bf5a6d6
commit e8a5b5d12c
3 changed files with 15 additions and 14 deletions
Generated
+2 -2
View File
@@ -3900,9 +3900,9 @@ dependencies = [
[[package]]
name = "flexi_logger"
version = "0.30.2"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb03342077df16d5b1400d7bed00156882846d7a479ff61a6f10594bcc3423d8"
checksum = "d7fb191130eb5944c592e5ad893a1306740d3a5b73c3522898ce7b9574f6aa75"
dependencies = [
"chrono",
"crossbeam-channel",
+1 -2
View File
@@ -22,7 +22,6 @@ members = [
"s3select/api", # S3 Select API interface
"s3select/query", # S3 Select query engine
"reader",
]
resolver = "2"
@@ -91,7 +90,7 @@ derive_builder = "0.20.2"
dioxus = { version = "0.6.3", features = ["router"] }
dirs = "6.0.0"
flatbuffers = "25.2.10"
flexi_logger = { version = "0.30.2", features = ["trc","dont_minimize_extra_stacks"] }
flexi_logger = { version = "0.31.1", features = ["trc", "dont_minimize_extra_stacks"] }
form_urlencoded = "1.2.1"
futures = "0.3.31"
futures-core = "0.3.31"
+12 -10
View File
@@ -1,19 +1,19 @@
use crate::OtelConfig;
use flexi_logger::{Age, Cleanup, Criterion, DeferredNow, FileSpec, LogSpecification, Naming, Record, WriteMode, style};
use flexi_logger::{style, Age, Cleanup, Criterion, DeferredNow, FileSpec, LogSpecification, Naming, Record, WriteMode};
use nu_ansi_term::Color;
use opentelemetry::trace::TracerProvider;
use opentelemetry::{KeyValue, global};
use opentelemetry::{global, KeyValue};
use opentelemetry_appender_tracing::layer::OpenTelemetryTracingBridge;
use opentelemetry_otlp::WithExportConfig;
use opentelemetry_sdk::logs::SdkLoggerProvider;
use opentelemetry_sdk::{
Resource,
metrics::{MeterProviderBuilder, PeriodicReader, SdkMeterProvider},
trace::{RandomIdGenerator, Sampler, SdkTracerProvider},
Resource,
};
use opentelemetry_semantic_conventions::{
SCHEMA_URL,
attribute::{DEPLOYMENT_ENVIRONMENT_NAME, NETWORK_LOCAL_ADDRESS, SERVICE_VERSION as OTEL_SERVICE_VERSION},
SCHEMA_URL,
};
use rustfs_config::{
APP_NAME, DEFAULT_LOG_DIR, DEFAULT_LOG_KEEP_FILES, DEFAULT_LOG_LEVEL, ENVIRONMENT, METER_INTERVAL, SAMPLE_RATIO,
@@ -28,7 +28,7 @@ use tracing_error::ErrorLayer;
use tracing_opentelemetry::{MetricsLayer, OpenTelemetryLayer};
use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::fmt::time::LocalTime;
use tracing_subscriber::{EnvFilter, Layer, layer::SubscriberExt, util::SubscriberInitExt};
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer};
/// A guard object that manages the lifecycle of OpenTelemetry components.
///
@@ -356,19 +356,19 @@ pub(crate) fn init_telemetry(config: &OtelConfig) -> OtelGuard {
// Save the logger handle to keep the logging
flexi_logger_handle = Some(logger);
info!("Flexi logger initialized with file logging to {}/{}.log", log_directory, log_filename);
eprintln!("Flexi logger initialized with file logging to {}/{}.log", log_directory, log_filename);
// Log logging of log cutting conditions
match (config.log_rotation_time.as_deref(), config.log_rotation_size_mb) {
(Some(time), Some(size)) => info!(
(Some(time), Some(size)) => eprintln!(
"Log rotation configured for: every {} or when size exceeds {}MB, keeping {} files",
time, size, keep_files
),
(Some(time), None) => info!("Log rotation configured for: every {}, keeping {} files", time, keep_files),
(Some(time), None) => eprintln!("Log rotation configured for: every {}, keeping {} files", time, keep_files),
(None, Some(size)) => {
info!("Log rotation configured for: when size exceeds {}MB, keeping {} files", size, keep_files)
eprintln!("Log rotation configured for: when size exceeds {}MB, keeping {} files", size, keep_files)
}
_ => info!("Log rotation configured for: daily, keeping {} files", keep_files),
_ => eprintln!("Log rotation configured for: daily, keeping {} files", keep_files),
}
} else {
eprintln!("Failed to initialize flexi_logger: {:?}", flexi_logger_result.err());
@@ -397,6 +397,7 @@ fn build_env_filter(logger_level: &str, default_level: Option<&str>) -> EnvFilte
}
/// Custom Log Formatter Function - Terminal Output (with Color)
#[inline(never)]
fn format_with_color(w: &mut dyn std::io::Write, now: &mut DeferredNow, record: &Record) -> Result<(), std::io::Error> {
let level = record.level();
let level_style = style(level);
@@ -421,6 +422,7 @@ fn format_with_color(w: &mut dyn std::io::Write, now: &mut DeferredNow, record:
}
/// Custom Log Formatter - File Output (No Color)
#[inline(never)]
fn format_for_file(w: &mut dyn std::io::Write, now: &mut DeferredNow, record: &Record) -> Result<(), std::io::Error> {
let level = record.level();