可以将Microsoft.VisualBasic.Logging.FileLogTraceListener设置为仅保留5个最新日志

时间:2018-07-26 00:51:50

标签: c# .net logging

我在C#应用程序中使用Microsoft.VisualBasic.Logging.FileLogTraceListener进行日志记录。我已将其设置为每天滚动日志文件。请参阅下面的设置:

<add name="TextListener"
      type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
      traceOutputOptions="DateTime,ProcessId,ThreadId"
      customLocation=""
      location="ExecutableDirectory"
      logFileCreationSchedule="Daily"
      baseFileName="TestAppLog"/>

我的问题是,它只是将旧文件保留在系统中,因此,即使日常文件很小,最终也会累积。我的理想方案是仅保留最近10天的日志文件,任何比该文件早的东西都将从系统中删除。

是否可以在Microsoft.VisualBasic.Logging.FileLogTraceListener设置上执行此操作?如果没有,那么实现这种自动清除旧数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我在文档中找不到这样的设置。

我能想到的是,每天设置一个scheduled task来清理过时的日志。预定任务可以是exe或批处理,非常易于实现和部署。

以下是用PowerShell编写的示例:

Delete files older than 15 days using PowerShell

以及如何在Task Scheduler中进行配置

Use the Windows Task Scheduler to Run a Windows PowerShell Script