Skip to content

Commit

Permalink
Merge pull request #580 from pibiba/main
Browse files Browse the repository at this point in the history
System time fix
  • Loading branch information
JakeRoggenbuck authored Nov 27, 2024
2 parents 211f6da + 429bf26 commit 706c2be
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 17 deletions.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ cached = "0.42.0"
rand = "0.8.5"
globset = "0.4"
time = { version = "0.3", features = ["local-offset", "formatting"]}
chrono = "0.4.38"

[dev-dependencies]
criterion = { version = "0.4", features = ["html_reports"] }
Expand Down
20 changes: 3 additions & 17 deletions src/logger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
//! It allows the program to log messages with different severity levels (error, warning, log) and display them in a human-readable format.
//!
//! The log messages contain a timestamp, a severity level and the message. The logs are stored in a vector and are serializable and deserializable. The logs can also be displayed in a human-readable format.
extern crate time;
use efcl::{color, Color};
use serde::{Deserialize, Serialize};
use std::fmt;
use std::time::SystemTime;
use time::{format_description, OffsetDateTime};
use chrono::{DateTime, Local};

#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)]
/// The Severity enum is used to represent the different levels of severity of a log message. It has three possible values:
Expand Down Expand Up @@ -44,22 +43,9 @@ impl fmt::Display for Log {
Severity::Log => color!(Color::BLUE, "notice:"),
};

let date_time_fmt =
format_description::parse("[year]-[month]-[day] [hour]:[minute]:[second]")
.expect("Invalid time format.");
let local_time: DateTime<Local> = DateTime::<Local>::from(self.timestamp);

let mut time = OffsetDateTime::from(self.timestamp)
.format(&date_time_fmt)
.unwrap();

if OffsetDateTime::now_local().is_ok() {
time = OffsetDateTime::now_local()
.expect("IndeterminateOffset")
.format(&date_time_fmt)
.unwrap();
}

write!(f, "{} {} -> {}", severity, time, self.message)
write!(f, "{} {} -> {}", severity, local_time.format("%Y-%m-%d %H:%M:%S"), self.message)
}
}

Expand Down

0 comments on commit 706c2be

Please sign in to comment.