8

我想用 nlog做到这一点(来自 log4net docu ):

此示例显示如何仅交付重要事件。LevelEvaluator 的阈值为 WARN。这意味着将为每个记录的 WARN 或更高级别的消息发送一封电子邮件。每封电子邮件还将包含多达 512 条 (BufferSize) 任何级别的先前消息,以提供上下文。未发送的消息将被丢弃。

可能吗?

我只在codeproject上找到了这个。但它使用代表消息数量而不是日志级别刷新的包装器目标。

谢谢托比

4

2 回答 2

1

有一个 QueuedTargetWrapper (一个缓冲日志事件并将它们分批发送到包装目标的目标)似乎可以满足要求。我还没试过。

有一个相关的讨论“在生产中跟踪级别日志记录的好处,没有大量文件的缺点

于 2013-02-06T11:49:57.803 回答
0

将在错误时写入最后 200 个日志事件的简单解决方案:

  <target name="String" xsi:type="AutoFlushWrapper" condition="level >= LogLevel.Error" flushOnConditionOnly="true">
     <target xsi:type="BufferingWrapper"
          bufferSize="200"
          overflowAction="Discard">
        <target xsi:type="wrappedTargetType" ...target properties... />
     </target>
  </target>

另见:https ://github.com/nlog/NLog/wiki/BufferingWrapper-target

于 2019-08-27T22:13:37.370 回答