log: do not send logs to stdout

This commit is contained in:
mokurin000
2025-08-01 16:18:44 +08:00
parent 7fe64ac4cd
commit 8d7ac62f80

View File

@@ -1,11 +1,14 @@
use std::{ use std::{
io::stdout, io::stdout,
sync::atomic::{AtomicBool, Ordering}, sync::{
Arc,
atomic::{AtomicBool, Ordering},
},
}; };
use nyquest_preset::nyquest::ClientBuilder; use nyquest_preset::nyquest::ClientBuilder;
use palc::Parser; use palc::Parser;
use spdlog::{Level, LevelFilter::MoreSevereEqual}; use spdlog::{Level, LevelFilter::MoreSevereEqual, sink::StdStreamSink, terminal_style::StyleMode};
use sdgb_api::{ use sdgb_api::{
all_net::QRCode, all_net::QRCode,
@@ -40,11 +43,20 @@ static EARLY_QUIT: AtomicBool = AtomicBool::new(false);
async fn main() -> Result<(), Box<dyn snafu::Error>> { async fn main() -> Result<(), Box<dyn snafu::Error>> {
nyquest_preset::register(); nyquest_preset::register();
if cfg!(debug_assertions) { let logger = spdlog::default_logger().fork_with(|log| {
spdlog::default_logger().set_level_filter(MoreSevereEqual(Level::Debug)); log.set_level_filter(MoreSevereEqual(if cfg!(debug_assertions) {
} else { Level::Debug
spdlog::default_logger().set_level_filter(MoreSevereEqual(Level::Info)); } else {
} Level::Info
}));
let sink = StdStreamSink::builder()
.stderr()
.style_mode(StyleMode::Auto)
.build()?;
*log.sinks_mut() = vec![Arc::new(sink)];
Ok(())
})?;
spdlog::swap_default_logger(logger);
ctrlc::set_handler(|| { ctrlc::set_handler(|| {
if EARLY_QUIT.load(Ordering::Relaxed) { if EARLY_QUIT.load(Ordering::Relaxed) {