【发布时间】:2019-04-07 03:48:52
【问题描述】:
我正在改造现有的日志系统以使用 NLog 代替。我在配置文件中手动添加了对 NLog 的引用:
<targets>
<target xsi:type="File" name="fileLogger" fileName="${basedir}\TRACE\${date:format=yyyy-MM-dd}.log" layout="TimeStamp:[${date}]|${message}" />
<target xsi:type="Memory" name="MemLogger" layout="TimeStamp:[${date}]|${message}|${Type}" />
</targets>
<rules>
<logger name="ApplicationLogger" levels="Info,Warn,Error" writeTo="fileLogger" />
<logger name="ApplicationLogger" levels="Info,Warn,Error" writeTo="fileLogger" />
</rules>
我想做的是在代码中提取 MemLogger 日志并访问不同的部分(类型、消息、时间戳)。我将如何做到这一点?我已经看到了如何从头开始创建一个新日志,但我不想创建一个新的内存目标,我想访问我的配置中的现有日志,从中提取日志数据,然后清除内存(这样我就没有内存泄漏)。
如何在 C# 中访问 MemLogger MemoryTarget?
【问题讨论】: