diff --git a/Cargo.lock b/Cargo.lock index 43d23c0..753370e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -172,7 +172,7 @@ dependencies = [ "rustls", "rustls-pemfile", "serde", - "simple_logger", + "simplelog", "tokio", "toml 0.5.11", ] @@ -716,16 +716,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" -[[package]] -name = "colored" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" -dependencies = [ - "lazy_static", - "windows-sys 0.48.0", -] - [[package]] name = "compact_str" version = "0.7.1" @@ -2559,15 +2549,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] -name = "simple_logger" -version = "4.3.3" +name = "simplelog" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1" +checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" dependencies = [ - "colored", "log", + "termcolor", "time", - "windows-sys 0.48.0", ] [[package]] @@ -2721,6 +2710,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + [[package]] name = "textwrap" version = "0.16.0" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index 6e09b9a..2bd41a0 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -34,7 +34,7 @@ log = "0.4" privdrop = "0.5" rand = { version = "0.8", features = ["small_rng"] } serde = { version = "1", features = ["derive"] } -simple_logger = { version = "4", features = ["stderr"] } +simplelog = { version = "0.12" } toml = "0.5" # rustls feature diff --git a/crates/common/src/cli.rs b/crates/common/src/cli.rs index d935285..16521d3 100644 --- a/crates/common/src/cli.rs +++ b/crates/common/src/cli.rs @@ -6,7 +6,7 @@ use aquatic_toml_config::TomlConfig; use git_testament::{git_testament, CommitKind}; use log::LevelFilter; use serde::{de::DeserializeOwned, Deserialize, Serialize}; -use simple_logger::SimpleLogger; +use simplelog::{ColorChoice, TermLogger, TerminalMode, ThreadLogMode}; /// Log level. Available values are off, error, warn, info, debug and trace. #[derive(Debug, Clone, Copy, PartialEq, TomlConfig, Serialize, Deserialize)] @@ -203,6 +203,19 @@ where } fn start_logger(log_level: LogLevel) -> ::anyhow::Result<()> { + let mut builder = simplelog::ConfigBuilder::new(); + + builder + .set_thread_mode(ThreadLogMode::Both) + .set_thread_level(LevelFilter::Error) + .set_target_level(LevelFilter::Error) + .set_location_level(LevelFilter::Off); + + let config = match builder.set_time_offset_to_local() { + Ok(builder) => builder.build(), + Err(builder) => builder.build(), + }; + let level_filter = match log_level { LogLevel::Off => LevelFilter::Off, LogLevel::Error => LevelFilter::Error, @@ -212,11 +225,13 @@ fn start_logger(log_level: LogLevel) -> ::anyhow::Result<()> { LogLevel::Trace => LevelFilter::Trace, }; - SimpleLogger::new() - .with_level(level_filter) - .with_utc_timestamps() - .init() - .context("Couldn't initialize logger")?; + TermLogger::init( + level_filter, + config, + TerminalMode::Stderr, + ColorChoice::Auto, + ) + .context("Couldn't initialize logger")?; Ok(()) }