15
15
//! ## Example
16
16
//!
17
17
//! ```
18
- //! #[macro_use] extern crate log ;
18
+ //! use log::{debug, error, log_enabled, info, Level} ;
19
19
//!
20
- //! use log::Level ;
20
+ //! env_logger::init() ;
21
21
//!
22
- //! fn main() {
23
- //! env_logger::init( );
22
+ //! debug!("this is a debug {}", "message");
23
+ //! error!("this is printed by default" );
24
24
//!
25
- //! debug!("this is a debug {}", "message");
26
- //! error!("this is printed by default");
27
- //!
28
- //! if log_enabled!(Level::Info) {
29
- //! let x = 3 * 4; // expensive computation
30
- //! info!("the answer was: {}", x);
31
- //! }
25
+ //! if log_enabled!(Level::Info) {
26
+ //! let x = 3 * 4; // expensive computation
27
+ //! info!("the answer was: {}", x);
32
28
//! }
33
29
//! ```
34
30
//!
146
142
//!
147
143
//! ```
148
144
//! # #[macro_use] extern crate log;
149
- //! # fn main() {}
150
145
//! #[cfg(test)]
151
146
//! mod tests {
152
147
//! fn init() {
245
240
#![ cfg_attr( rustbuild, feature( staged_api, rustc_private) ) ]
246
241
#![ cfg_attr( rustbuild, unstable( feature = "rustc_private" , issue = "27812" ) ) ]
247
242
#![ deny( missing_debug_implementations, missing_docs, warnings) ]
248
- #![ allow( clippy:: needless_doctest_main) ]
249
243
250
244
use std:: { borrow:: Cow , cell:: RefCell , env, io} ;
251
245
@@ -258,7 +252,7 @@ pub use self::fmt::glob::*;
258
252
259
253
use self :: filter:: Filter ;
260
254
use self :: fmt:: writer:: { self , Writer } ;
261
- use self :: fmt:: Formatter ;
255
+ use self :: fmt:: { FormatFn , Formatter } ;
262
256
263
257
/// The default name for the environment variable to read filters from.
264
258
pub const DEFAULT_FILTER_ENV : & str = "RUST_LOG" ;
@@ -310,8 +304,7 @@ struct Var<'a> {
310
304
pub struct Logger {
311
305
writer : Writer ,
312
306
filter : Filter ,
313
- #[ allow( unknown_lints, bare_trait_objects) ]
314
- format : Box < Fn ( & mut Formatter , & Record ) -> io:: Result < ( ) > + Sync + Send > ,
307
+ format : FormatFn ,
315
308
}
316
309
317
310
/// `Builder` acts as builder for initializing a `Logger`.
@@ -322,23 +315,20 @@ pub struct Logger {
322
315
/// # Examples
323
316
///
324
317
/// ```
325
- /// #[macro_use] extern crate log;
326
- ///
327
- /// use std::env;
328
- /// use std::io::Write;
329
- /// use log::LevelFilter;
318
+ /// # #[macro_use] extern crate log;
319
+ /// # use std::io::Write;
330
320
/// use env_logger::Builder;
321
+ /// use log::LevelFilter;
331
322
///
332
- /// fn main() {
333
- /// let mut builder = Builder::from_default_env();
323
+ /// let mut builder = Builder::from_default_env();
334
324
///
335
- /// builder.format(|buf, record| writeln!(buf, "{} - {}", record.level(), record.args()))
336
- /// .filter(None, LevelFilter::Info)
337
- /// .init();
325
+ /// builder
326
+ /// .format(|buf, record| writeln!(buf, "{} - {}", record.level(), record.args()))
327
+ /// .filter(None, LevelFilter::Info)
328
+ /// .init();
338
329
///
339
- /// error!("error message");
340
- /// info!("info message");
341
- /// }
330
+ /// error!("error message");
331
+ /// info!("info message");
342
332
/// ```
343
333
#[ derive( Default ) ]
344
334
pub struct Builder {
@@ -360,16 +350,15 @@ impl Builder {
360
350
/// Create a new builder and configure filters and style:
361
351
///
362
352
/// ```
363
- /// # fn main() {
364
353
/// use log::LevelFilter;
365
354
/// use env_logger::{Builder, WriteStyle};
366
355
///
367
356
/// let mut builder = Builder::new();
368
357
///
369
- /// builder.filter(None, LevelFilter::Info)
370
- /// .write_style(WriteStyle::Always )
371
- /// .init();
372
- /// # }
358
+ /// builder
359
+ /// .filter(None, LevelFilter::Info )
360
+ /// .write_style(WriteStyle::Always)
361
+ /// .init();
373
362
/// ```
374
363
///
375
364
/// [`filter`]: #method.filter
@@ -612,14 +601,12 @@ impl Builder {
612
601
/// Only include messages for info and above for logs in `path::to::module`:
613
602
///
614
603
/// ```
615
- /// # fn main() {
616
- /// use log::LevelFilter;
617
604
/// use env_logger::Builder;
605
+ /// use log::LevelFilter;
618
606
///
619
607
/// let mut builder = Builder::new();
620
608
///
621
609
/// builder.filter_module("path::to::module", LevelFilter::Info);
622
- /// # }
623
610
/// ```
624
611
pub fn filter_module ( & mut self , module : & str , level : LevelFilter ) -> & mut Self {
625
612
self . filter . filter_module ( module, level) ;
@@ -633,14 +620,12 @@ impl Builder {
633
620
/// Only include messages for info and above for logs in `path::to::module`:
634
621
///
635
622
/// ```
636
- /// # fn main() {
637
- /// use log::LevelFilter;
638
623
/// use env_logger::Builder;
624
+ /// use log::LevelFilter;
639
625
///
640
626
/// let mut builder = Builder::new();
641
627
///
642
628
/// builder.filter_level(LevelFilter::Info);
643
- /// # }
644
629
/// ```
645
630
pub fn filter_level ( & mut self , level : LevelFilter ) -> & mut Self {
646
631
self . filter . filter_level ( level) ;
@@ -657,14 +642,12 @@ impl Builder {
657
642
/// Only include messages for info and above for logs in `path::to::module`:
658
643
///
659
644
/// ```
660
- /// # fn main() {
661
- /// use log::LevelFilter;
662
645
/// use env_logger::Builder;
646
+ /// use log::LevelFilter;
663
647
///
664
648
/// let mut builder = Builder::new();
665
649
///
666
650
/// builder.filter(Some("path::to::module"), LevelFilter::Info);
667
- /// # }
668
651
/// ```
669
652
pub fn filter ( & mut self , module : Option < & str > , level : LevelFilter ) -> & mut Self {
670
653
self . filter . filter ( module, level) ;
@@ -1125,7 +1108,6 @@ pub fn init() {
1125
1108
/// and `MY_LOG_STYLE` for writing colors:
1126
1109
///
1127
1110
/// ```
1128
- /// # extern crate env_logger;
1129
1111
/// use env_logger::{Builder, Env};
1130
1112
///
1131
1113
/// # fn run() -> Result<(), Box<::std::error::Error>> {
@@ -1135,7 +1117,7 @@ pub fn init() {
1135
1117
///
1136
1118
/// Ok(())
1137
1119
/// # }
1138
- /// # fn main() { run().unwrap(); }
1120
+ /// # run().unwrap();
1139
1121
/// ```
1140
1122
///
1141
1123
/// # Errors
0 commit comments