studiole-logging 0.4.1

Opinionated logging for `studiole-di`
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::prelude::*;
use tracing::subscriber::set_global_default;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::{Layer, Registry};
use tracing_wasm::WASMLayer;

impl Logger {
    /// Set the global tracing subscriber.
    ///
    /// - Browser devtools render their own timestamps so [`ElapsedTime`] is not applied
    pub(super) fn set(&self) -> Result<(), Report<InitError>> {
        let filter = self.build_targets();
        let layer = WASMLayer::default().with_filter(filter);
        let registry = Registry::default().with(layer);
        set_global_default(registry).change_context(InitError::Init)
    }
}