➕ Reuse tracing library to be able to display matrix SDK logs
This commit is contained in:
@@ -12,7 +12,6 @@ web = ["dioxus/web"]
|
|||||||
dioxus = "0.5.0"
|
dioxus = "0.5.0"
|
||||||
dioxus-free-icons = { version = "0.8", features = ["material-design-icons-navigation", "ionicons"] }
|
dioxus-free-icons = { version = "0.8", features = ["material-design-icons-navigation", "ionicons"] }
|
||||||
dioxus-sdk = { version = "0.5.0", features = ["utils"] }
|
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"] }
|
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"
|
const_format = "0.2.32"
|
||||||
zxcvbn = "2.2.2"
|
zxcvbn = "2.2.2"
|
||||||
async-std = "1.12.0"
|
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]
|
[target.'cfg(target_family = "wasm")'.dependencies]
|
||||||
web-sys = { version = "0.3.69" }
|
web-sys = { version = "0.3.69" }
|
||||||
|
21
src/main.rs
21
src/main.rs
@@ -8,11 +8,16 @@ use std::time::Duration;
|
|||||||
|
|
||||||
use async_std::task;
|
use async_std::task;
|
||||||
use dioxus::prelude::*;
|
use dioxus::prelude::*;
|
||||||
use log::{debug, LevelFilter};
|
|
||||||
|
|
||||||
#[cfg(feature = "desktop")]
|
#[cfg(feature = "desktop")]
|
||||||
use dioxus::desktop::Config;
|
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::{login, sync_rooms};
|
||||||
use crate::base::{APP_SETTINGS, ROOMS, SESSION};
|
use crate::base::{APP_SETTINGS, ROOMS, SESSION};
|
||||||
use crate::ui::components::loading::LoadingPage;
|
use crate::ui::components::loading::LoadingPage;
|
||||||
@@ -113,16 +118,26 @@ fn app() -> Element {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
dioxus_logger::init(LevelFilter::Info).expect("failed to init logger");
|
|
||||||
|
|
||||||
#[cfg(feature = "desktop")]
|
#[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 config = Config::new().with_menu(None);
|
||||||
let builder = LaunchBuilder::new().with_cfg(config);
|
let builder = LaunchBuilder::new().with_cfg(config);
|
||||||
builder.launch(app);
|
builder.launch(app);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "web")]
|
#[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();
|
let builder = LaunchBuilder::new();
|
||||||
builder.launch(app);
|
builder.launch(app);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user