rsiot/logging/
target_wasm32.rs

1use tracing::info;
2use tracing_subscriber::{
3    fmt::{format::Pretty, time::ChronoLocal},
4    prelude::*,
5    EnvFilter,
6};
7use tracing_web::{performance_layer, MakeWebConsoleWriter};
8
9/// Настройка логгирования для платформы WASM32
10///
11/// Логи выводятся в консоль
12pub fn configure_logging(rust_log: &str) -> super::Result<()> {
13    console_error_panic_hook::set_once();
14
15    let fmt_layer = tracing_subscriber::fmt::layer()
16        .with_ansi(false)
17        .with_timer(ChronoLocal::rfc_3339())
18        .with_writer(MakeWebConsoleWriter::new());
19
20    let perf_layer = performance_layer().with_details_from_fields(Pretty::default());
21
22    let filter = EnvFilter::new(rust_log);
23
24    tracing_subscriber::registry()
25        .with(fmt_layer)
26        .with(perf_layer)
27        .with(filter)
28        .init();
29
30    info!("service started");
31
32    Ok(())
33}