diff --git a/Cargo.lock b/Cargo.lock index 645cbb0..0a89db2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,10 +18,13 @@ dependencies = [ ] [[package]] -name = "anyhow" -version = "1.0.58" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] [[package]] name = "async-trait" @@ -729,18 +732,17 @@ dependencies = [ name = "revanced-discord-bot" version = "0.1.0" dependencies = [ - "anyhow", "chrono", "dirs", "dotenv", - "log", "regex", "serde", "serde_json", "serde_regex", "serenity", - "simplelog", "tokio", + "tracing", + "tracing-subscriber", ] [[package]] @@ -897,14 +899,12 @@ dependencies = [ ] [[package]] -name = "simplelog" -version = "0.12.0" +name = "sharded-slab" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" dependencies = [ - "log", - "termcolor", - "time 0.3.11", + "lazy_static", ] [[package]] @@ -913,6 +913,12 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +[[package]] +name = "smallvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" + [[package]] name = "socket2" version = "0.4.4" @@ -940,15 +946,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.31" @@ -969,6 +966,15 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + [[package]] name = "time" version = "0.1.44" @@ -990,15 +996,8 @@ dependencies = [ "libc", "num_threads", "serde", - "time-macros", ] -[[package]] -name = "time-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" - [[package]] name = "tinyvec" version = "1.6.0" @@ -1105,6 +1104,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a713421342a5a666b7577783721d3117f1b69a393df803ee17bb73b1e122a59" +dependencies = [ + "ansi_term", + "sharded-slab", + "smallvec", + "thread_local", + "tracing-core", + "tracing-log", ] [[package]] @@ -1201,6 +1226,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "version_check" version = "0.9.4" @@ -1340,15 +1371,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index 285c338..d3fdb96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,11 +21,10 @@ serde = { version = "1.0", features = ["derive"] } dotenv = "0.15" serde_json = "1.0" tokio = { version = "1.0", features = ["rt-multi-thread"] } -log = { version = "0.4", features = ["max_level_debug", "release_max_level_info"] } regex = "1.0" serde_regex = "1.1" chrono = "0.4" -serenity = { git = "https://github.com/serenity-rs/serenity.git", default_features = false, features = ["client", "gateway", "rustls_backend", "model"] } -simplelog = "0.12.0" -anyhow = "1.0.58" +serenity = { git = "https://github.com/serenity-rs/serenity.git", default_features = false, features = ["client", "gateway", "rustls_backend", "model"] } dirs = "4.0.0" +tracing = { version = "0.1", features = ["max_level_debug", "release_max_level_info"] } +tracing-subscriber = "0.3" \ No newline at end of file diff --git a/src/logger.rs b/src/logger.rs index b41f455..774deee 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -1,22 +1,6 @@ -use std::fs::File; +use tracing_subscriber; -use log::LevelFilter; -use simplelog::{ColorChoice, CombinedLogger, Config, TermLogger, TerminalMode, WriteLogger}; - -pub fn init() -> anyhow::Result<()> { - CombinedLogger::init(vec![ - TermLogger::new( - LevelFilter::Debug, - Config::default(), - TerminalMode::Mixed, - ColorChoice::Auto, - ), - WriteLogger::new( - LevelFilter::Info, - Config::default(), - File::create("logs.log")? - ), - ])?; - - Ok(()) +pub fn init() { + // TODO: log to file + tracing_subscriber::fmt::init(); } diff --git a/src/main.rs b/src/main.rs index 41fe2f5..f0ce11d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use std::{env, process}; use chrono::{DateTime, Duration, NaiveDateTime, Utc}; -use log::{error, info, debug}; +use tracing::{error, info, debug}; use model::application::Configuration; use regex::Regex; use serenity::client::{Context, EventHandler}; @@ -223,7 +223,7 @@ impl EventHandler for Handler { #[tokio::main] async fn main() { // Initialize the logging framework. - logger::init().expect("failed to init logger"); + logger::init(); // Set up the configuration. let configuration = load_configuration();