.net - 使用 .net 监听器轮换日志文件

标签 .net configuration logging

我有一个 现有 .net 服务,我想将其配置为将消息写入日志文件。我在服务配置中添加了以下内容:

<system.diagnostics>
  <sources>
    <source name="My.Service" switchValue="All">
      <listeners>
        <add name="text" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\log.txt" traceOutputOptions="Timestamp"/>
      </listeners>
    </source>
  </sources>
</system.diagnostics>

问题是日志文件很快变得非常大,所以我想知道是否可以配置某种日志轮换。
由于进程锁定文件以进行写入,因此无法手动旋转它,例如使用脚本定期重命名文件,至少无需停止和重新启动服务。

感谢您的任何建议。

最佳答案

FileLogTraceListener我认为可以解决问题。您可以将其配置为每天或每周一次。

如果这还不够,那么您将不得不编写自己的跟踪监听器,只需从 TraceListener 继承并覆盖写入方法。

关于.net - 使用 .net 监听器轮换日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867833/

相关文章:

c# - 使用临时变量对分数的多维数组进行排序

.net - 为什么使用表达式树

java - 动态设置列值 JDBC Appender : Log4j2

c# - 从 (GAC) 类库初始化 Automapper

sql - 寻找 SQL 事务日志文件查看器

shell - 从日志中排序唯一的 url

.net - 我收到此错误无法执行请求,因为无法在 IIS 5.1 win XP 上创建应用程序域

windows - (OS 10048) 通常只允许每个套接字地址(协议(protocol)/网络地址/端口)使用一次。 Windows Apache

node.js - 除第一天外,如何使用 Winston 每天轮换日志

c# - 选中时如何更改 System.Windows.Forms.ToolStripButton 突出显示/背景颜色?