1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//! `prima_tracing` provide an handy way for configuring the [`tracing`] crate with
//! support for JSON output formatter and integration with opentelemetry
//! # Usage
//!
//! ```rust
//!
//! use prima_tracing::{builder, configure_subscriber, Country, Environment, init_subscriber};
//! # #[cfg(not(feature = "traces"))]
//! # {
//! let subscriber = configure_subscriber(
//! builder("ping")
//! .with_country(Country::Common)
//! .with_env(Environment::Dev)
//! .build()
//! );
//!
//! let _guard = init_subscriber(subscriber);
//! # }
//! ```
mod config;
mod subscriber;
#[cfg(feature = "json-logger")]
pub mod json;
#[cfg(feature = "traces")]
pub mod layer;
#[cfg(feature = "traces")]
pub mod telemetry;
pub use crate::config::{
builder, Country, Environment, EnvironmentParseError, SubscriberConfig, SubscriberConfigBuilder,
};
pub use crate::subscriber::{
configure_subscriber, init_subscriber, ContextInfo, EventFormatter, Tracing, Uninstall,
};