|
11 | 11 | //! |
12 | 12 | //! # Examples |
13 | 13 | //! |
14 | | -//! Reloading a [`Filtered`](crate::filter::Filtered) layer to change the filter at runtime. |
| 14 | +//! Reloading a [global filtering](crate::layer#global-filtering) layer: |
15 | 15 | //! |
| 16 | +//! ```rust |
| 17 | +//! # use tracing::info; |
| 18 | +//! use tracing_subscriber::{filter, fmt, reload, prelude::*}; |
| 19 | +//! let filter = filter::LevelFilter::WARN; |
| 20 | +//! let (filter, reload_handle) = reload::Layer::new(filter); |
| 21 | +//! tracing_subscriber::registry() |
| 22 | +//! .with(filter) |
| 23 | +//! .with(fmt::Layer::default()) |
| 24 | +//! .init(); |
| 25 | +//! # |
| 26 | +//! # // specifying the Registry type is required |
| 27 | +//! # let _: &reload::Handle<filter::LevelFilter, tracing_subscriber::Registry> = &reload_handle; |
| 28 | +//! # |
| 29 | +//! info!("This will be ignored"); |
| 30 | +//! reload_handle.modify(|filter| *filter = filter::LevelFilter::INFO); |
| 31 | +//! info!("This will be logged"); |
16 | 32 | //! ``` |
| 33 | +//! |
| 34 | +//! Reloading a [`Filtered`](crate::filter::Filtered) layer: |
| 35 | +//! |
| 36 | +//! ```rust |
17 | 37 | //! # use tracing::info; |
18 | | -//! # use tracing_subscriber::{filter,fmt,reload,Registry,prelude::*}; |
19 | | -//! # fn main() { |
| 38 | +//! use tracing_subscriber::{filter, fmt, reload, prelude::*}; |
20 | 39 | //! let filtered_layer = fmt::Layer::default().with_filter(filter::LevelFilter::WARN); |
21 | 40 | //! let (filtered_layer, reload_handle) = reload::Layer::new(filtered_layer); |
22 | 41 | //! # |
23 | 42 | //! # // specifying the Registry type is required |
24 | | -//! # let _: &reload::Handle<filter::Filtered<fmt::Layer<Registry>, |
25 | | -//! # filter::LevelFilter, Registry>,Registry> |
| 43 | +//! # let _: &reload::Handle<filter::Filtered<fmt::Layer<tracing_subscriber::Registry>, |
| 44 | +//! # filter::LevelFilter, tracing_subscriber::Registry>,tracing_subscriber::Registry> |
26 | 45 | //! # = &reload_handle; |
27 | 46 | //! # |
| 47 | +//! tracing_subscriber::registry() |
| 48 | +//! .with(filtered_layer) |
| 49 | +//! .init(); |
28 | 50 | //! info!("This will be ignored"); |
29 | 51 | //! reload_handle.modify(|layer| *layer.filter_mut() = filter::LevelFilter::INFO); |
30 | 52 | //! info!("This will be logged"); |
31 | | -//! # } |
32 | 53 | //! ``` |
33 | 54 | //! |
34 | 55 | //! [`Layer` type]: struct.Layer.html |
|
0 commit comments