企业库日志记录5 - 滚动平面文件

时间:2011-12-22 17:43:34

标签: c# enterprise-library enterprise-library-5

是否有办法始终将timestamppattern应用于我当前的日志文件?

以下是来自app.config

的日志文件侦听器的示例
<add name="Exception" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="%APPDATA%\MyProgram\Logs\exception.log" formatter="PrismText"
rollFileExistsBehavior="Increment" rollInterval="Day" timeStampPattern="yyyy-MM-dd" rollSizeKB="3000"
maxArchivedFiles="10" />

现在,一旦我达到最大尺寸或日期更改,它就会重命名日志,但有没有办法让初始日志文件显示出TimeStamp模式?

我在我的日志文件夹中得到这个:

exception.log <-- Current log
exception.2011-12-22.1.log
exception.2011.12.22.2.log

我想这样:

exception.2011-12-22.log (or exception.2011-12-22.1.log) <-- Current Log
exception.2011.12.22.2.log

这不是什么大不了的事,因为我可以看一下修改/创建的日期,但如果快速解决它会很好。

1 个答案:

答案 0 :(得分:0)

如何将文件名作为时间戳,如下所示:exception.2011-12-22.log

您可以通过流畅的api执行此操作,或者如果您不想在代码中使用它,则可以每天更改配置文件。如果配置文件发生更改,则日志记录块会自动更改配置。但当然这会让你的代码变得有点复杂。

只是一个想法......