Skip to main content

apple_quant_core/log/
layer.rs

1mod 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}