C# log4net:带空格的日期时间格式
本文关键字:日期 时间 格式 空格 log4net | 更新日期: 2023-09-27 18:33:31
我正在使用RollingFileAppender(log4net)在文件中记录24/7应用程序的事件。文件名必须如下所示:
"blabla-2012- 3- 6.txt"或"blabla-2012-13-6"或"blabla-2012- 3-12.txt"
问题是我不知道日期时间格式,它会使用空格而不是零。
RollingFileAppender appender = new RollingFileAppender ();
appender.Name = String.Format ("{0} appender_", name);
appender.File = string.Format ("{0} {1} {2} {3}", logPath, @ "'", file, name, extension);
appender.AppendToFile = true;
appender.LockingModel = new FileAppender.MinimalLock();
appender.StaticLogFileName = false;
->> Appender.DatePattern = string.Format ("yyyy-M-d");
....
Log4net 使用以下命令来确定滚动文件追加器中的文件名:
m_scheduledFilename =
CombinePath(File, m_now.ToString(m_datePattern, System.Globalization.DateTimeFormatInfo.InvariantInfo));
其中,您猜测m_now是当前日期时间。因此,您可以使用所有可用的日期时间自定义格式,我认为您需要的格式不是开箱即用的。因此,如果您绝对需要这种格式,您可以通过从 RollingFileAppender
派生并重写 RollOverTime
方法来编写自定义追加器。
您可以将文本放在格式字符串中:
Appender.DatePattern = "yyyy- M- d"; // don't need string.Format
这不行吗?
编辑:我现在明白了:你想要MM,但你想要的不是"05",而是"5"。日期时间格式设置没有办法促进这一点。您可以创建自己的衍生 RollingFileAppender 来尝试处理这种特殊情况格式。