Add tracing

This commit is contained in:
Natsu Kagami 2025-01-03 13:17:31 +01:00
parent 7d65a9de6a
commit 125bad04da
Signed by: nki
GPG key ID: 55A032EB38B49ADB
3 changed files with 90 additions and 1 deletions

69
Cargo.lock generated
View file

@ -1353,6 +1353,16 @@ dependencies = [
"minimal-lexical",
]
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-bigint-dig"
version = "0.8.4"
@ -1475,6 +1485,12 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "parking_lot"
version = "0.12.1"
@ -2145,6 +2161,15 @@ dependencies = [
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "signature"
version = "2.2.0"
@ -2567,6 +2592,16 @@ dependencies = [
"syn 2.0.48",
]
[[package]]
name = "thread_local"
version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "time"
version = "0.3.37"
@ -2737,6 +2772,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
dependencies = [
"nu-ansi-term",
"sharded-slab",
"smallvec",
"thread_local",
"tracing-core",
"tracing-log",
]
[[package]]
@ -2890,6 +2951,12 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4bf03e0ca70d626ecc4ba6b0763b934b6f2976e8c744088bb3c1d646fbb1ad0"
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vcpkg"
version = "0.2.15"
@ -3238,6 +3305,8 @@ dependencies = [
"poise",
"serenity",
"tokio",
"tracing",
"tracing-subscriber",
"youmubot-cf",
"youmubot-core",
"youmubot-db",

View file

@ -22,4 +22,6 @@ youmubot-prelude = { path = "../youmubot-prelude" }
youmubot-core = { path = "../youmubot-core" }
youmubot-osu = { path = "../youmubot-osu", optional = true }
youmubot-cf = { path = "../youmubot-cf", optional = true }
tracing = "0.1"
tracing-subscriber = "0.3"

View file

@ -147,9 +147,27 @@ async fn is_not_channel_mod(ctx: &Context, msg: &Message) -> bool {
}
}
const LOG_LEVEL_KEY: &str = env_logger::DEFAULT_FILTER_ENV;
fn trace_level() -> tracing::Level {
var(LOG_LEVEL_KEY)
.map(|v| v.parse().unwrap())
.unwrap_or(tracing::Level::WARN)
}
#[tokio::main]
async fn main() {
env_logger::init();
env_logger::init_from_env(env_logger::Env::default().filter(LOG_LEVEL_KEY));
// a builder for `FmtSubscriber`.
let subscriber = tracing_subscriber::FmtSubscriber::builder()
// all spans/events with a level higher than TRACE (e.g, debug, info, warn, etc.)
// will be written to stdout.
.with_max_level(trace_level())
// completes the builder.
.finish();
tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
// Setup dotenv
if let Ok(path) = dotenv::dotenv() {
println!("Loaded dotenv from {:?}", path);