【问题标题】:Automatically deleting Enterprise Library 5 Rolling Log files自动删除 Enterprise Library 5 滚动日志文件
【发布时间】:2014-06-15 09:24:31
【问题描述】:

我在整个项目中都使用了 Enterprise Library Logging,它运行良好,但是我注意到包含日志的文件夹已经开始变得臃肿,其中包含不再需要的旧日志。我在 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”天后被删除?

【问题讨论】:

    标签: file logging file-io enterprise-library enterprise-library-5


    【解决方案1】:

    我通过将以下内容添加到侦听器声明中的 app.config 来限制企业日志记录的文件数量来解决此问题:

    maxArchivedFiles="20"
    

    现在日志最多只能保留 20 个文件,并在达到此阈值时删除最旧的文件。

    我发现的另一种不涉及企业库的方法可以在这里找到: Background Worker Check For When It's Midnight?

    这是通过 System.IO 完成的,以在经过一定时间后引发事件。然后将其与删除此答案中找到的所有文件的功能结合使用:

    delete folder/files and subfolder

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多