This is a personal temporary tracing-appender, support symlinking latest log file and local offset time format.
It has no relation to tracing-appender.
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(); ```