From 0990332f1873bde999cdec4490b5569dc8348b99 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sun, 22 Feb 2026 12:12:05 +0700 Subject: [PATCH] refactor(log): Use custom Time for timestamps --- src/log.rs | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/log.rs b/src/log.rs index 6b0ecd8..e2573c9 100644 --- a/src/log.rs +++ b/src/log.rs @@ -1,28 +1,13 @@ -use std::time::SystemTime; - use log::{Level, LevelFilter, Metadata, Record, SetLoggerError}; -use time::format_description::FormatItem; -use time::formatting::Formattable; -use time::macros::format_description; -use time::OffsetDateTime; +use rustix::thread::ClockId; -const LOG_DATETIME_FORMAT: &[FormatItem] = format_description!( - "[year]-[month]-[day] [hour]:[minute]:[second] [offset_hour \ - sign:mandatory]:[offset_minute]:[offset_second]" -); +use crate::time::Time; #[derive(Clone, Copy)] pub struct SimpleLogger { pub level: Level, } -fn time_format(dt: T, format: &(impl Formattable + ?Sized)) -> String -where - T: Into, -{ - dt.into().format(format).unwrap() -} - impl log::Log for SimpleLogger { fn enabled(&self, metadata: &Metadata) -> bool { metadata.level() <= self.level @@ -30,9 +15,10 @@ impl log::Log for SimpleLogger { fn log(&self, record: &Record) { if self.enabled(record.metadata()) { + let now = Time::new(ClockId::Realtime); println!( "{} {:5} {}:{}: {}", - time_format(SystemTime::now(), &LOG_DATETIME_FORMAT), + now.as_secs_f64(), record.level(), record.file().unwrap(), record.line().unwrap(),