#tracing-subscriber #log #ansi #multi #rotating #sequences #destinations

tracing-subscriber-multi

Configure multiple log destinations for tracing_subscriber

1 unstable release

0.1.0 Jan 22, 2025

#601 in Debugging

Download history 152/week @ 2025-01-21 8/week @ 2025-01-28 15/week @ 2025-02-04 27/week @ 2025-02-11

202 downloads per month

MIT license

9KB
158 lines

tracing-subscriber-multi

Write tracing logs with helpful writer proxies, including:

  • Writing to multiple places
  • Writing to rotating log files
  • Stripping ANSI sequences for a single writer

Example

use tracing_subscriber_multi::*;

let subscriber = FmtSubscriber::builder()
    .with_max_level(tracing::Level::TRACE)
    .with_ansi(true)
    .with_writer(std::sync::Mutex::new(DualWriter::new(
        std::io::stderr(),
        AnsiStripper::new(RotatingFile::new(
            "program.log",
            AppendCount::new(3),
            ContentLimit::Lines(1000),
            Compression::OnRotate(0),
        )),
    )))
    .finish();
tracing::subscriber::set_global_default(subscriber).expect("failed to initialise logger");

Dependencies

~2.5–7.5MB
~55K SLoC