File 自动删除企业库5滚动日志文件

File 自动删除企业库5滚动日志文件,file,logging,file-io,enterprise-library,enterprise-library-5,File,Logging,File Io,Enterprise Library,Enterprise Library 5,我在整个项目中都使用了企业库日志记录,它工作得很好,但是我注意到包含日志的文件夹中已经开始充斥着不再需要的旧日志。我在app.config中的设置是: <add name="CommonListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Loggi

我在整个项目中都使用了企业库日志记录,它工作得很好,但是我注意到包含日志的文件夹中已经开始充斥着不再需要的旧日志。我在app.config中的设置是:

    <add name="CommonListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="D:\Logs\Common.log" footer="   "
    formatter="Text Formatter" header="   " rollFileExistsBehavior="Increment"
    rollInterval="Midnight" rollSizeKB="1000000"/>


目前,我可以手动删除这些文件,但这将导致后续问题,因为我无法访问这些文件的存储位置。是否有一个配置可以添加到配置文件中,该配置将标记它们在“x”天数后被删除?

我通过在侦听器声明中向app.config添加以下内容来限制企业日志记录所需的文件量,从而解决了这一问题:

maxArchivedFiles="20"
现在,日志记录最多只保留20个文件,并在达到此阈值时删除最旧的文件

我发现的另一种不涉及企业库的方法可以在这里找到:

此操作通过System.IO完成,以在特定时间过后引发事件。然后,它与删除此答案中的所有文件的功能相结合:


我通过在侦听器声明中的app.config中添加以下内容来限制企业日志记录的文件量,从而解决了这个问题:

maxArchivedFiles="20"
现在,日志记录最多只保留20个文件,并在达到此阈值时删除最旧的文件

我发现的另一种不涉及企业库的方法可以在这里找到:

此操作通过System.IO完成,以在特定时间过后引发事件。然后,它与删除此答案中的所有文件的功能相结合: