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:

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

Rust:

```rust use cliatime::UtcOffset as CliaUtcOffset; use time::macros::formatdescription; use time::UtcOffset; use tracingappender::nonblocking::WorkerGuard; use tracingsubscriber::fmt; use tracingsubscriber::fmt::time::OffsetTime;

let fileappender = tracingappender::rolling::hourly(directory, filename); let (filewriter, guard) = tracingappender::nonblocking(file_appender);

let offsetsec = CliaUtcOffset::currentlocaloffset() .expect("Can not get local offset!") .wholeseconds(); let offset = UtcOffset::fromwholeseconds(offsetsec).expect("Can not from whole seconds!"); let timer = OffsetTime::new( offset, formatdescription!("[year]-[month]-[day] [hour]:[minute]:[second].[subsecond digits:3]"), );

tracingsubscriber::fmt() .withtimer(timer) .withwriter(filewriter) .init(); ```