raphtory_api/core/utils/
logging.rs1use std::sync::OnceLock;
2use tracing_subscriber::{
3 fmt, fmt::format::FmtSpan, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Registry,
4};
5
6pub fn get_log_env(log_level: String) -> EnvFilter {
7 EnvFilter::new(format!(
8 "pometry-storage={},pometry-storage-private={},raphtory={},raphtory-api={},raphtory-benchmark={},raphtory-cypher={},raphtory-graphql={}",
9 log_level, log_level, log_level, log_level, log_level, log_level, log_level
10 ))
11}
12
13pub fn init_global_logger(log_level: String) {
14 static INIT: OnceLock<()> = OnceLock::new();
15
16 INIT.get_or_init(|| {
17 let filter = get_log_env(log_level);
18 let registry = Registry::default()
19 .with(filter)
20 .with(fmt::layer().pretty().with_span_events(FmtSpan::NONE));
21 registry.try_init().ok();
22 });
23}
24
25pub fn global_error_logger() {
26 init_global_logger("ERROR".to_string())
27}
28pub fn global_warn_logger() {
29 init_global_logger("WARN".to_string())
30}
31
32pub fn global_info_logger() {
33 init_global_logger("INFO".to_string())
34}
35
36pub fn global_debug_logger() {
37 init_global_logger("DEBUG".to_string())
38}
39pub fn global_trace_logger() {
40 init_global_logger("TRACE".to_string())
41}
42
43pub fn sysout_debug() {
44 tracing_subscriber::fmt::fmt()
45 .with_max_level(tracing::Level::DEBUG)
46 .with_target(false)
47 .with_span_events(FmtSpan::ENTER | FmtSpan::CLOSE)
48 .init();
49}