diff --git a/src/main.rs b/src/main.rs index 53cfb7e..237954a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,11 @@ use std::{collections::BTreeMap, fmt::Debug, str::FromStr, sync::Arc}; use strum::EnumString; use tokio::{select, signal::ctrl_c, task::JoinSet}; use tokio_util::{sync::CancellationToken, time::FutureExt as _}; -use tracing_subscriber::{EnvFilter, fmt::format::FmtSpan}; +use tracing::Level; +use tracing_subscriber::{ + EnvFilter, + fmt::{format::FmtSpan, writer::MakeWriterExt}, +}; use twilight_gateway::{Event, EventTypeFlags, Intents, Shard, StreamExt}; use twilight_model::{ application::interaction::InteractionData, @@ -173,13 +177,16 @@ async fn main() -> Result<(), MainError> { let LoggingArgs { env_filter } = logging_args; - let (non_blocking_writer, _guard) = tracing_appender::non_blocking(std::io::stdout()); + let (stdout, _stdout_guard) = tracing_appender::non_blocking(std::io::stdout()); + let (stderr, _stderr_guard) = tracing_appender::non_blocking(std::io::stderr()); + + let writer = stderr.with_max_level(Level::WARN).or_else(stdout); tracing_subscriber::fmt() .pretty() .with_env_filter(env_filter) .with_span_events(FmtSpan::NEW | FmtSpan::CLOSE) - .with_writer(non_blocking_writer) + .with_writer(writer) .init(); tracing::debug!(?app_args, "using");