feat: divide logging into stdout and stderr by verbosity

This commit is contained in:
2026-05-06 22:06:28 -04:00
parent 9441204f9f
commit cfa81784b7

View File

@@ -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");