log: do not send logs to stdout
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
use std::{
|
||||
io::stdout,
|
||||
sync::atomic::{AtomicBool, Ordering},
|
||||
sync::{
|
||||
Arc,
|
||||
atomic::{AtomicBool, Ordering},
|
||||
},
|
||||
};
|
||||
|
||||
use nyquest_preset::nyquest::ClientBuilder;
|
||||
use palc::Parser;
|
||||
use spdlog::{Level, LevelFilter::MoreSevereEqual};
|
||||
use spdlog::{Level, LevelFilter::MoreSevereEqual, sink::StdStreamSink, terminal_style::StyleMode};
|
||||
|
||||
use sdgb_api::{
|
||||
all_net::QRCode,
|
||||
@@ -40,11 +43,20 @@ static EARLY_QUIT: AtomicBool = AtomicBool::new(false);
|
||||
async fn main() -> Result<(), Box<dyn snafu::Error>> {
|
||||
nyquest_preset::register();
|
||||
|
||||
if cfg!(debug_assertions) {
|
||||
spdlog::default_logger().set_level_filter(MoreSevereEqual(Level::Debug));
|
||||
} else {
|
||||
spdlog::default_logger().set_level_filter(MoreSevereEqual(Level::Info));
|
||||
}
|
||||
let logger = spdlog::default_logger().fork_with(|log| {
|
||||
log.set_level_filter(MoreSevereEqual(if cfg!(debug_assertions) {
|
||||
Level::Debug
|
||||
} 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(|| {
|
||||
if EARLY_QUIT.load(Ordering::Relaxed) {
|
||||
|
||||
Reference in New Issue
Block a user