tracing-subscriber-multi 0.1.0

Configure multiple log destinations for tracing_subscriber.
Documentation

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");