From e24ebd7bfbfeddf016f75f1a8b7af735d1aec75e Mon Sep 17 00:00:00 2001 From: Yin Jifeng Date: Fri, 28 Nov 2025 11:46:47 +0800 Subject: [PATCH] appender: fix `InsufficientInformation` when parsing datetime --- tracing-appender/src/rolling.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tracing-appender/src/rolling.rs b/tracing-appender/src/rolling.rs index c98e9d58b..7bbaeb2ea 100644 --- a/tracing-appender/src/rolling.rs +++ b/tracing-appender/src/rolling.rs @@ -28,6 +28,7 @@ //! ``` use crate::sync::{RwLock, RwLockReadGuard}; use std::{ + convert::TryFrom, fmt::{self, Debug}, fs::{self, File, OpenOptions}, io::{self, Write}, @@ -687,8 +688,15 @@ impl Inner { datetime = datetime.strip_suffix('.')?; } + let mut parsed = time::parsing::Parsed::new() + .with_hour_24(0)? + .with_minute(0)?; + parsed + .parse_items(datetime.as_bytes(), &self.date_format) + .ok()?; + Some( - PrimitiveDateTime::parse(datetime, &self.date_format) + PrimitiveDateTime::try_from(parsed) .ok()? .assume_utc() .into(),