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={},opentelemetry_otlp={},tonic={}",
10 log_level, log_level, log_level, log_level, log_level, log_level, log_level, log_level, log_level
11 ))
12}
13
14pub fn init_global_logger(log_level: String) {
15 static INIT: OnceLock<()> = OnceLock::new();
16
17 INIT.get_or_init(|| {
18 let filter = get_log_env(log_level);
19 let registry = Registry::default()
20 .with(filter)
21 .with(fmt::layer().pretty().with_span_events(FmtSpan::NONE));
22 registry.try_init().ok();
23 });
24}
25
26pub fn global_error_logger() {
27 init_global_logger("ERROR".to_string())
28}
29pub fn global_warn_logger() {
30 init_global_logger("WARN".to_string())
31}
32
33pub fn global_info_logger() {
34 init_global_logger("INFO".to_string())
35}
36
37pub fn global_debug_logger() {
38 init_global_logger("DEBUG".to_string())
39}
40pub fn global_trace_logger() {
41 init_global_logger("TRACE".to_string())
42}
43
44pub fn sysout_debug() {
45 tracing_subscriber::fmt::fmt()
46 .with_max_level(tracing::Level::DEBUG)
47 .with_target(false)
48 .with_span_events(FmtSpan::ENTER | FmtSpan::CLOSE)
49 .init();
50}