From 231e88c69088355d08b876c14798c10a4bba324b Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Wed, 9 Aug 2023 02:27:17 +0200 Subject: [PATCH] Update log handler --- Cargo.lock | 150 +++++++++++------- Cargo.toml | 4 +- src/bots/approved_bot/modules/book.rs | 1 + src/bots/approved_bot/modules/download.rs | 1 + .../approved_bot/services/book_library/mod.rs | 1 + src/bots/bots_manager/register.rs | 1 + src/bots_manager/mod.rs | 1 + src/main.rs | 6 +- 8 files changed, 108 insertions(+), 57 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 11d8295..b93558d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -198,10 +198,8 @@ dependencies = [ "ctrlc", "dateparser", "futures", - "log", "moka", "once_cell", - "pretty_env_logger", "regex", "reqwest", "sentry", @@ -218,6 +216,8 @@ dependencies = [ "tokio-util", "tower", "tower-http 0.4.3", + "tracing", + "tracing-subscriber", "url", ] @@ -473,19 +473,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "env_logger" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "erasable" version = "1.2.1" @@ -810,12 +797,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.27" @@ -928,17 +909,6 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix 0.38.6", - "windows-sys", -] - [[package]] name = "itertools" version = "0.9.0" @@ -1018,6 +988,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matchit" version = "0.7.2" @@ -1136,6 +1115,16 @@ dependencies = [ "static_assertions", ] +[[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-traits" version = "0.2.16" @@ -1225,6 +1214,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "parking" version = "2.1.0" @@ -1320,16 +1315,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "pretty_env_logger" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c" -dependencies = [ - "env_logger", - "log", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -1464,8 +1449,17 @@ checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.3.4", + "regex-syntax 0.7.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -1476,9 +1470,15 @@ checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.7.4", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.7.4" @@ -1817,6 +1817,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -2051,15 +2060,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - [[package]] name = "textwrap" version = "0.16.0" @@ -2091,6 +2091,16 @@ dependencies = [ "syn 2.0.28", ] +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + [[package]] name = "time" version = "0.1.45" @@ -2286,9 +2296,21 @@ dependencies = [ "cfg-if", "log", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + [[package]] name = "tracing-core" version = "0.1.31" @@ -2299,13 +2321,33 @@ dependencies = [ "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.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", "tracing-core", + "tracing-log", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 0301cde..9331151 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,8 +10,6 @@ tokio = { version = "1.28.2", features = ["rt-multi-thread", "macros"] } reqwest = { version = "0.11.18", features = ["json"] } serde = { version = "1.0.163", features = ["derive"] } serde_json = "1.0.96" -log = "0.4.18" -pretty_env_logger = "0.5.0" teloxide = { version = "0.12.2", features = ["macros", "webhooks-axum", "cache-me", "throttle"] } url = "2.3.1" ctrlc = { version = "3.4.0", features = ["termination"] } @@ -30,6 +28,8 @@ axum = "0.6.18" smallvec = { version = "1.10.0", features = ["serde"] } smartstring = { version = "1.0.1", features = ["serde"] } tokio-stream = "0.1.14" +tracing = "0.1.37" +tracing-subscriber = { version = "0.3.17", features = ["env-filter"]} tower = "0.4.13" tower-http = { version = "0.4.3", features = ["trace"] } once_cell = "1.18.0" diff --git a/src/bots/approved_bot/modules/book.rs b/src/bots/approved_bot/modules/book.rs index 926b46b..82d96e3 100644 --- a/src/bots/approved_bot/modules/book.rs +++ b/src/bots/approved_bot/modules/book.rs @@ -6,6 +6,7 @@ use smartstring::alias::String as SmartString; use regex::Regex; use smallvec::SmallVec; use teloxide::{dispatching::UpdateFilterExt, dptree, prelude::*, adaptors::{Throttle, CacheMe}}; +use tracing::log; use crate::bots::approved_bot::{ services::{ diff --git a/src/bots/approved_bot/modules/download.rs b/src/bots/approved_bot/modules/download.rs index 8d22f9d..8d8d704 100644 --- a/src/bots/approved_bot/modules/download.rs +++ b/src/bots/approved_bot/modules/download.rs @@ -13,6 +13,7 @@ use teloxide::{ }; use tokio::time::sleep; use tokio_util::compat::FuturesAsyncReadCompatExt; +use tracing::log; use crate::{ bots::{ diff --git a/src/bots/approved_bot/services/book_library/mod.rs b/src/bots/approved_bot/services/book_library/mod.rs index fb69dbd..ac73514 100644 --- a/src/bots/approved_bot/services/book_library/mod.rs +++ b/src/bots/approved_bot/services/book_library/mod.rs @@ -5,6 +5,7 @@ use smartstring::alias::String as SmartString; use serde::de::DeserializeOwned; use smallvec::SmallVec; +use tracing::log; use crate::config; diff --git a/src/bots/bots_manager/register.rs b/src/bots/bots_manager/register.rs index dcf6545..ceacb73 100644 --- a/src/bots/bots_manager/register.rs +++ b/src/bots/bots_manager/register.rs @@ -2,6 +2,7 @@ use std::error::Error; use serde_json::json; use teloxide::prelude::*; +use tracing::log; use crate::config; diff --git a/src/bots_manager/mod.rs b/src/bots_manager/mod.rs index d5e8087..4961ab9 100644 --- a/src/bots_manager/mod.rs +++ b/src/bots_manager/mod.rs @@ -10,6 +10,7 @@ use teloxide::stop::{mk_stop_token, StopToken, StopFlag}; use teloxide::update_listeners::{StatefulListener, UpdateListener}; use tokio::sync::mpsc::{UnboundedSender, self}; use tokio_stream::wrappers::UnboundedReceiverStream; +use tracing::log; use url::Url; use std::collections::HashMap; diff --git a/src/main.rs b/src/main.rs index 695ac46..5e43284 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,8 +7,12 @@ mod config; #[tokio::main] async fn main() { + tracing_subscriber::fmt() + .with_target(false) + .compact() + .init(); + let _guard = sentry::init(config::CONFIG.sentry_dsn.clone()); - pretty_env_logger::init(); let running = Arc::new(AtomicBool::new(true)); let r = running.clone();