#local-time #logging-tracing #non-blocking #logging #tracing #temporary-files #date-format

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

#334 in Debugging

Download history 56/week @ 2023-11-30 40/week @ 2023-12-07 29/week @ 2023-12-14 21/week @ 2023-12-21 20/week @ 2023-12-28 30/week @ 2024-01-04 51/week @ 2024-01-11 26/week @ 2024-01-18 46/week @ 2024-01-25 22/week @ 2024-02-01 20/week @ 2024-02-08 33/week @ 2024-02-15 69/week @ 2024-02-22 45/week @ 2024-02-29 51/week @ 2024-03-07 34/week @ 2024-03-14

205 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–9.5MB
~59K SLoC