diff options
| author | Stypox <stypox@pm.me> | 2025-06-12 12:09:55 +0200 |
|---|---|---|
| committer | Stypox <stypox@pm.me> | 2025-06-12 12:11:15 +0200 |
| commit | 781baafbe4501e079489f76fdd6fb439252f467d (patch) | |
| tree | cadc1f121839e17dc488afe6ab420919c9207a94 /compiler/rustc_log | |
| parent | fc96ca8bbad7fb4c7546fb98807e826723fc6c1d (diff) | |
| download | rust-781baafbe4501e079489f76fdd6fb439252f467d.tar.gz rust-781baafbe4501e079489f76fdd6fb439252f467d.zip | |
Add documentation for init_logger_with_additional_layer
Diffstat (limited to 'compiler/rustc_log')
| -rw-r--r-- | compiler/rustc_log/src/lib.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/compiler/rustc_log/src/lib.rs b/compiler/rustc_log/src/lib.rs index 8d959002b56..df648bbd489 100644 --- a/compiler/rustc_log/src/lib.rs +++ b/compiler/rustc_log/src/lib.rs @@ -43,8 +43,7 @@ use tracing_subscriber::filter::{Directive, EnvFilter, LevelFilter}; use tracing_subscriber::fmt::FmtContext; use tracing_subscriber::fmt::format::{self, FormatEvent, FormatFields}; use tracing_subscriber::layer::SubscriberExt; -// Re-export tracing_subscriber items so rustc_driver_impl doesn't need to depend on it. -pub use tracing_subscriber::{Layer, Registry}; +use tracing_subscriber::{Layer, Registry}; /// The values of all the environment variables that matter for configuring a logger. /// Errors are explicitly preserved so that we can share error handling. @@ -77,6 +76,11 @@ pub fn init_logger(cfg: LoggerConfig) -> Result<(), Error> { init_logger_with_additional_layer(cfg, || Registry::default()) } +/// Trait alias for the complex return type of `build_subscriber` in +/// [init_logger_with_additional_layer]. A [Registry] with any composition of [tracing::Subscriber]s +/// (e.g. `Registry::default().with(custom_layer)`) should be compatible with this type. +/// Having an alias is also useful so rustc_driver_impl does not need to explicitly depend on +/// `tracing_subscriber`. pub trait BuildSubscriberRet: tracing::Subscriber + for<'span> tracing_subscriber::registry::LookupSpan<'span> + Send + Sync { @@ -89,7 +93,8 @@ impl< } /// Initialize the logger with the given values for the filter, coloring, and other options env variables. -/// Additionally add a custom layer to collect logging and tracing events. +/// Additionally add a custom layer to collect logging and tracing events via `build_subscriber`, +/// for example: `|| Registry::default().with(custom_layer)`. pub fn init_logger_with_additional_layer<F, T>( cfg: LoggerConfig, build_subscriber: F, |
