From 2c3cfc53c2525d67a004074f4f07f98f0c97a17f Mon Sep 17 00:00:00 2001 From: Floris Bruynooghe Date: Fri, 29 Nov 2019 16:03:57 +0100 Subject: [PATCH] Keep separators between time part of logfile names The timestamp part of the log filename becomes a dense series of numbers because sanitize_filename removes ":" as it is a special character on windows. So use a custom replacement character to fix work around this. --- src/log.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/log.rs b/src/log.rs index b12692b78..aa72e0692 100644 --- a/src/log.rs +++ b/src/log.rs @@ -70,7 +70,14 @@ impl Logger { fn open(logdir: &Path) -> Result<(String, fs::File), io::Error> { let basename = chrono::offset::Utc::now().to_rfc3339_opts(chrono::SecondsFormat::Secs, true); - let mut fname = sanitize_filename::sanitize(format!("{}.log", &basename)); + let mut fname = sanitize_filename::sanitize_with_options( + format!("{}.log", &basename), + sanitize_filename::Options { + truncate: true, + windows: true, + replacement: ".", + }, + ); let mut counter = 0; loop { match std::fs::OpenOptions::new()