rsiot/logging/
target_wasm32.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use tracing::info;
use tracing_subscriber::{
    fmt::{format::Pretty, time::ChronoLocal},
    prelude::*,
    EnvFilter,
};
use tracing_web::{performance_layer, MakeWebConsoleWriter};

/// Настройка логгирования для платформы WASM32
///
/// Логи выводятся в консоль
pub fn configure_logging(rust_log: &str) -> super::Result<()> {
    console_error_panic_hook::set_once();

    let fmt_layer = tracing_subscriber::fmt::layer()
        .with_ansi(false)
        .with_timer(ChronoLocal::rfc_3339())
        .with_writer(MakeWebConsoleWriter::new());

    let perf_layer = performance_layer().with_details_from_fields(Pretty::default());

    let filter = EnvFilter::new(rust_log);

    tracing_subscriber::registry()
        .with(fmt_layer)
        .with(perf_layer)
        .with(filter)
        .init();

    info!("service started");

    Ok(())
}