从控制台获取数据,为log4net创建日志条目

本文关键字:创建 日志 log4net 控制台 获取 数据 | 更新日期: 2023-09-27 18:18:51

我有一些外部库,我正在使用它们记录到控制台。我希望这些通过log4net进行记录。

注意:我不想从log4net登录到控制台,这应该是直接的。

目前为止我所发现的:

1)控制台。setOut方法允许使用不同的文件流。
重写内存流似乎很有希望,但没有机会引发事件来通知更改
2)从控制台写入文件似乎是一种解决方案,在那里我可以读取文件以使用新日志更新UI文本框
3)文件流可以自动刷新,这意味着信息的自动更新。这种概念与我所追求的相似吗?

将控制台信息放入log4net以便它能够以与配置log4net相同的方式发布控制台日志项的最佳方法是什么?目前,我的log4net将日志放入事件日志、绑定数据的wpf文本框和文件中。

从控制台获取数据,为log4net创建日志条目

对于这种情况,我不知道有什么其他的解决方案,除了你写的:

  • 覆盖output的控制台指向一个文件

  • 读取文件并添加到记录器

要获得有关更改的通知,您可以尝试使用FileSystemWatcher http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx。

或者如果你不想要"实时通知",可以打开文件only for read和检查定时器是否有任何行最后保存阅读器指针的位置。

但我认为,第一个选项更容易。