Crate wattle_appender

Crate wattle_appender 

Source
Expand description

Wattle Appender - A feature-rich file appender for tracing

wattle-appender provides a flexible file logging solution for the tracing framework with support for log rotation, compression, and both blocking and non-blocking write modes.

§Features

  • default: Basic file appending with blocking mode only
  • non-blocking: Async writing using crossbeam channels
  • compression-gzip: Gzip compression support
  • compression-zstd: Zstd compression support
  • compression-xz: XZ compression support
  • compression-zip: Zip compression support
  • full: Enables non-blocking and compression-zstd

§Example (default features)

use wattle_appender::FileAppender;

let appender = FileAppender::new()
    .file_name("logs/app.log")
    .daily_rotation()
    .max_backup(7)
    .build()
    .unwrap();

§Example with full features

[dependencies]
wattle-appender = { version = "0.1", features = ["full"] }
use wattle_appender::FileAppender;

let appender = FileAppender::new()
    .file_name("logs/app.log")
    .blocking(false)  // Requires "non-blocking" feature
    .daily_rotation()
    .compress(true)
    .zstd_compression()  // Requires "compression-zstd" feature
    .max_backup(7)
    .build()
    .unwrap();

Structs§

FileAppender
Log file appender with rotation, compression and other features
FileAppenderBuilder
Builder for FileAppender
FileAppenderWriter