silence serenity info logs
This commit is contained in:
13
Cargo.lock
generated
13
Cargo.lock
generated
@@ -1079,6 +1079,15 @@ version = "0.4.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
||||
|
||||
[[package]]
|
||||
name = "matchers"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
|
||||
dependencies = [
|
||||
"regex-automata",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "matchit"
|
||||
version = "0.8.4"
|
||||
@@ -2129,10 +2138,14 @@ version = "0.3.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
|
||||
dependencies = [
|
||||
"matchers",
|
||||
"nu-ansi-term",
|
||||
"once_cell",
|
||||
"regex-automata",
|
||||
"sharded-slab",
|
||||
"smallvec",
|
||||
"thread_local",
|
||||
"tracing",
|
||||
"tracing-core",
|
||||
"tracing-log",
|
||||
]
|
||||
|
||||
@@ -14,4 +14,4 @@ serenity = "0.12.4"
|
||||
tokio = { version = "1.44.2", features = ["full"] }
|
||||
tower = "0.5.2"
|
||||
tracing = "0.1.41"
|
||||
tracing-subscriber = "0.3.20"
|
||||
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
|
||||
|
||||
32
src/setup.rs
32
src/setup.rs
@@ -1,6 +1,6 @@
|
||||
use dotenvy::Error;
|
||||
use tracing::{Level, error, info, subscriber, warn};
|
||||
use tracing_subscriber::FmtSubscriber;
|
||||
use tracing::{error, info, subscriber, warn};
|
||||
use tracing_subscriber::{EnvFilter, FmtSubscriber};
|
||||
|
||||
pub fn dotenv_and_tracing() {
|
||||
let dotenv = match dotenvy::dotenv() {
|
||||
@@ -10,16 +10,18 @@ pub fn dotenv_and_tracing() {
|
||||
false => DotenvStatus::Error(e),
|
||||
},
|
||||
};
|
||||
let lvl = match std::env::var("RUST_LOG") {
|
||||
Ok(s) => Level::try_from_str(&s),
|
||||
let filter = match std::env::var("RUST_LOG") {
|
||||
Ok(s) => EnvFilter::new(s),
|
||||
Err(e) => match e {
|
||||
std::env::VarError::NotPresent => Level::INFO,
|
||||
std::env::VarError::NotPresent => EnvFilter::new("info,serenity=warn"),
|
||||
std::env::VarError::NotUnicode(s) => panic!("{:?} is not a valid log level.", s),
|
||||
},
|
||||
};
|
||||
let s = FmtSubscriber::builder().with_max_level(lvl).finish();
|
||||
let s = FmtSubscriber::builder()
|
||||
.with_env_filter(filter.clone())
|
||||
.finish();
|
||||
subscriber::set_global_default(s).expect(SETGLOBAL_FAIL);
|
||||
info!("tracing initialised ({}).", lvl);
|
||||
info!("tracing initialised.");
|
||||
match dotenv {
|
||||
DotenvStatus::LoadedFine => info!(".env loaded successfully."),
|
||||
DotenvStatus::NotFound => warn!(".env not found; skipping..."),
|
||||
@@ -33,19 +35,3 @@ enum DotenvStatus {
|
||||
NotFound,
|
||||
Error(Error),
|
||||
}
|
||||
|
||||
trait StrToLevel {
|
||||
fn try_from_str(value: &str) -> Level;
|
||||
}
|
||||
impl StrToLevel for Level {
|
||||
fn try_from_str(value: &str) -> Level {
|
||||
match value.to_lowercase().as_str() {
|
||||
"error" => Level::ERROR,
|
||||
"warn" => Level::WARN,
|
||||
"info" => Level::INFO,
|
||||
"debug" => Level::DEBUG,
|
||||
"trace" => Level::TRACE,
|
||||
_ => panic!("{value} is not a valid log level."),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user