feat: divide logging into stdout and stderr by verbosity
This commit is contained in:
13
src/main.rs
13
src/main.rs
@@ -14,7 +14,11 @@ use std::{collections::BTreeMap, fmt::Debug, str::FromStr, sync::Arc};
|
|||||||
use strum::EnumString;
|
use strum::EnumString;
|
||||||
use tokio::{select, signal::ctrl_c, task::JoinSet};
|
use tokio::{select, signal::ctrl_c, task::JoinSet};
|
||||||
use tokio_util::{sync::CancellationToken, time::FutureExt as _};
|
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_gateway::{Event, EventTypeFlags, Intents, Shard, StreamExt};
|
||||||
use twilight_model::{
|
use twilight_model::{
|
||||||
application::interaction::InteractionData,
|
application::interaction::InteractionData,
|
||||||
@@ -173,13 +177,16 @@ async fn main() -> Result<(), MainError> {
|
|||||||
|
|
||||||
let LoggingArgs { env_filter } = logging_args;
|
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()
|
tracing_subscriber::fmt()
|
||||||
.pretty()
|
.pretty()
|
||||||
.with_env_filter(env_filter)
|
.with_env_filter(env_filter)
|
||||||
.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
|
.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
|
||||||
.with_writer(non_blocking_writer)
|
.with_writer(writer)
|
||||||
.init();
|
.init();
|
||||||
|
|
||||||
tracing::debug!(?app_args, "using");
|
tracing::debug!(?app_args, "using");
|
||||||
|
|||||||
Reference in New Issue
Block a user