diff --git a/Cargo.toml b/Cargo.toml index 2423c84..4d026d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,6 @@ web = ["dioxus/web"] dioxus = "0.5.0" dioxus-free-icons = { version = "0.8", features = ["material-design-icons-navigation", "ionicons"] } dioxus-sdk = { version = "0.5.0", features = ["utils"] } -dioxus-logger = { version = "0.4.1", features = ["timestamps"] } matrix-sdk = { git = "https://github.com/matrix-org/matrix-rust-sdk.git", branch = "main", default-features = false, features = ["js", "rustls-tls"] } @@ -32,6 +31,9 @@ validator = { version = "0.17.0", features = ["derive"] } const_format = "0.2.32" zxcvbn = "2.2.2" async-std = "1.12.0" +tracing = "0.1.40" +tracing-web = "0.1.3" +tracing-subscriber = "0.3.18" [target.'cfg(target_family = "wasm")'.dependencies] web-sys = { version = "0.3.69" } diff --git a/src/main.rs b/src/main.rs index 35f12ca..e536ce3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,11 +8,16 @@ use std::time::Duration; use async_std::task; use dioxus::prelude::*; -use log::{debug, LevelFilter}; #[cfg(feature = "desktop")] use dioxus::desktop::Config; +use tracing::debug; +use tracing_subscriber::prelude::*; + +#[cfg(feature = "web")] +use tracing_web::MakeWebConsoleWriter; + use crate::base::{login, sync_rooms}; use crate::base::{APP_SETTINGS, ROOMS, SESSION}; use crate::ui::components::loading::LoadingPage; @@ -113,16 +118,26 @@ fn app() -> Element { } fn main() { - dioxus_logger::init(LevelFilter::Info).expect("failed to init logger"); - #[cfg(feature = "desktop")] { + let fmt_layer = tracing_subscriber::fmt::layer() + .with_filter(tracing::level_filters::LevelFilter::DEBUG); + tracing_subscriber::registry().with(fmt_layer).init(); + let config = Config::new().with_menu(None); let builder = LaunchBuilder::new().with_cfg(config); builder.launch(app); } + #[cfg(feature = "web")] { + let fmt_layer = tracing_subscriber::fmt::layer() + .with_ansi(false) // Only partially supported across browsers + .without_time() // std::time is not available in browsers, see note below + .with_writer(MakeWebConsoleWriter::new()) // write events to the console + .with_filter(tracing::level_filters::LevelFilter::INFO); + tracing_subscriber::registry().with(fmt_layer).init(); // Install these as subscribers to tracing events + let builder = LaunchBuilder::new(); builder.launch(app); }