#logging #tracing #file-appender #non-blocking-writer

clia-tracing-appender

A personal temporary tracing-appender, support symlinking latest log file and local offset time format

5 releases

0.2.5 Oct 23, 2022
0.2.4 Mar 23, 2022
0.2.3 Mar 12, 2022
0.2.2 Mar 9, 2022
0.2.0 Feb 21, 2022

#375 in Debugging

Download history 58/week @ 2023-11-04 49/week @ 2023-11-11 102/week @ 2023-11-18 126/week @ 2023-11-25 72/week @ 2023-12-02 75/week @ 2023-12-09 65/week @ 2023-12-16 62/week @ 2023-12-23 56/week @ 2023-12-30 62/week @ 2024-01-06 87/week @ 2024-01-13 55/week @ 2024-01-20 93/week @ 2024-01-27 46/week @ 2024-02-03 66/week @ 2024-02-10 153/week @ 2024-02-17

370 downloads per month
Used in 7 crates (via clia-tracing-config)

MIT license

82KB
1K SLoC

clia-tracing-appender

This is a personal temporary tracing-appender, support symlinking latest log file and local offset time format.

It has no relation to tracing-appender.

Usage example

Cargo.toml:

clia-local-offset = "0.1"
time = { version = "0.3", features = ["macros"] }
tracing-subscriber = { version = "0.3", features = ["time", "local-time"] }
tracing-appender = { package = "clia-tracing-appender", version = "0.2" }

Rust:

use time::macros::format_description;
use tracing_appender::non_blocking::WorkerGuard;
use tracing_subscriber::fmt;
use tracing_subscriber::fmt::time::OffsetTime;

let file_appender = tracing_appender::rolling::hourly(directory, file_name);
let (file_writer, guard) = tracing_appender::non_blocking(file_appender);

let offset = clia_local_offset::current_local_offset()
    .expect("Can not get local offset!");
let timer = OffsetTime::new(
    offset,
    format_description!("[year]-[month]-[day] [hour]:[minute]:[second].[subsecond digits:3]"),
);

tracing_subscriber::fmt()
    .with_timer(timer)
    .with_writer(file_writer)
    .init();

Changelog

Version 0.2.5

  • Merge tracing-appender v0.1.x branch date 2022-10-22.
  • Change usage of clia-time to clia-local-offset, simplify the example.

Dependencies

~2.5–9MB
~59K SLoC