aboutsummaryrefslogtreecommitdiff
path: root/alacritty
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty')
-rw-r--r--alacritty/Cargo.toml2
-rw-r--r--alacritty/src/logging.rs19
2 files changed, 16 insertions, 5 deletions
diff --git a/alacritty/Cargo.toml b/alacritty/Cargo.toml
index 26523e1c..3b577956 100644
--- a/alacritty/Cargo.toml
+++ b/alacritty/Cargo.toml
@@ -21,7 +21,7 @@ version = "0.1.0"
[dependencies]
clap = { version = "3.0.0", features = ["derive"] }
log = { version = "0.4", features = ["std", "serde"] }
-time = "0.1.40"
+time = { version = "0.3.5", features = ["formatting", "local-offset", "macros"] }
fnv = "1"
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.8"
diff --git a/alacritty/src/logging.rs b/alacritty/src/logging.rs
index 56ed4ab5..0ed37220 100644
--- a/alacritty/src/logging.rs
+++ b/alacritty/src/logging.rs
@@ -13,6 +13,8 @@ use std::{env, process};
use glutin::event_loop::EventLoopProxy;
use log::{self, Level, LevelFilter};
+use time::macros::format_description;
+use time::{OffsetDateTime, UtcOffset};
use crate::cli::Options;
use crate::event::{Event, EventType};
@@ -41,6 +43,7 @@ pub struct Logger {
logfile: Mutex<OnDemandLogFile>,
stdout: Mutex<LineWriter<Stdout>>,
event_proxy: Mutex<EventLoopProxy<Event>>,
+ tz_offset: UtcOffset,
}
impl Logger {
@@ -48,7 +51,12 @@ impl Logger {
let logfile = Mutex::new(OnDemandLogFile::new());
let stdout = Mutex::new(LineWriter::new(io::stdout()));
- Logger { logfile, stdout, event_proxy: Mutex::new(event_proxy) }
+ Logger {
+ logfile,
+ stdout,
+ event_proxy: Mutex::new(event_proxy),
+ tz_offset: UtcOffset::current_local_offset().expect("local timezone offset"),
+ }
}
fn file_path(&self) -> Option<PathBuf> {
@@ -108,7 +116,7 @@ impl log::Log for Logger {
}
// Create log message for the given `record` and `target`.
- let message = create_log_message(record, target);
+ let message = create_log_message(record, target, self.tz_offset);
if let Ok(mut logfile) = self.logfile.lock() {
// Write to logfile.
@@ -127,8 +135,11 @@ impl log::Log for Logger {
fn flush(&self) {}
}
-fn create_log_message(record: &log::Record<'_>, target: &str) -> String {
- let now = time::strftime("%F %T.%f", &time::now()).unwrap();
+fn create_log_message(record: &log::Record<'_>, target: &str, tz_offset: UtcOffset) -> String {
+ let time_format = format_description!(
+ "[year]-[month]-[day] [hour repr:24]:[minute]:[second].[subsecond digits:9]"
+ );
+ let now = OffsetDateTime::now_utc().to_offset(tz_offset).format(time_format).unwrap();
let mut message = format!("[{}] [{:<5}] [{}] ", now, record.level(), target);
// Alignment for the lines after the first new line character in the payload. We don't deal