#[cfg(feature = "traces")]
#[macro_use]
pub mod macros;
mod config;
mod subscriber;
#[cfg(feature = "async-graphql")]
pub mod async_graphql;
#[cfg(feature = "json-logger")]
pub mod json;
#[cfg(feature = "traces")]
pub mod layer;
#[cfg(feature = "traces")]
pub mod resources;
#[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,
};
pub use tracing;
#[macro_export]
macro_rules! report_error {
($error:expr, $($args:tt)*) => {
{
let kind = ::std::any::type_name_of_val(&$error);
$crate::tracing::error!(error.kind = kind, error = &$error as &dyn ::std::error::Error, $($args)+)
}
};
}