rocket/trace/
mod.rs

1#[macro_use]
2mod macros;
3mod traceable;
4
5#[cfg(feature = "trace")]
6#[cfg_attr(nightly, doc(cfg(feature = "trace")))]
7pub mod subscriber;
8
9pub(crate) mod level;
10
11#[doc(inline)]
12pub use macros::*;
13
14#[doc(inline)]
15pub use traceable::{Trace, TraceAll};
16
17#[doc(inline)]
18pub use tracing::{Level, level_filters::LevelFilter};
19
20#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, serde::Deserialize, serde::Serialize)]
21#[serde(crate = "rocket::serde")]
22#[non_exhaustive]
23pub enum TraceFormat {
24    #[serde(rename = "pretty")]
25    #[serde(alias = "PRETTY")]
26    Pretty,
27    #[serde(rename = "compact")]
28    #[serde(alias = "COMPACT")]
29    Compact
30}
31
32#[cfg_attr(nightly, doc(cfg(feature = "trace")))]
33pub fn init<'a, T: Into<Option<&'a crate::Config>>>(config: T) {
34    #[cfg(not(feature = "trace"))]
35    let _ = config;
36
37    #[cfg(feature = "trace")]
38    crate::trace::subscriber::RocketDynFmt::init(config.into())
39}