apple_quant_core/log/
layer.rs1mod simple;
2mod verbose;
3
4use tracing_subscriber::Layer;
5use simple::*;
6
7#[allow(unused_imports)]
8use verbose::*;
9
10pub fn initialize_tracing() {
11 use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter};
12
13 #[cfg(not(debug_assertions))]
14 let env_filter_directives = "info";
15
16 #[cfg(debug_assertions)]
17 let env_filter_directives = "trace";
18
19 let subscriber = tracing_subscriber::registry();
20
21 #[cfg(feature = "profile")]
22 use tracing_tracy::TracyLayer;
23
24 #[cfg(feature = "profile")]
25 let subscriber = subscriber.with(TracyLayer::default());
26
27 let log_env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| {
28 EnvFilter::new(env_filter_directives)
29 });
30
31 #[cfg(feature = "log-verbose")]
32 let layer = VerbosePrettyLayer::new(std::io::stderr).with_filter(log_env_filter);
33
34 #[cfg(not(feature = "log-verbose"))]
35 let layer = SimplePrettyLayer::new(std::io::stderr).with_filter(log_env_filter);
36
37 subscriber.with(layer).init();
38}