【问题标题】:get data from Console to create log entries for log4net从控制台获取数据为 log4net 创建日志条目
【发布时间】:2011-12-28 07:44:54
【问题描述】:

我有一些正在使用的外部库正在记录到控制台。我希望这些通过 log4net 登录。

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

到目前为止我发现了什么:

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

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

【问题讨论】:

    标签: c# .net log4net inotifypropertychanged memorystream


    【解决方案1】:

    除了你写的以外,我个人不知道任何其他解决方案:

    • 覆盖output 的控制台将其指向文件

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

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

    或者如果您不想要“实时通知”,可以打开文件only for read 并用计时器检查是否有任何行在最后保存阅读器指针位置之后。

    但我认为,第一种选择要容易得多。

    希望这会有所帮助。

    【讨论】:

    • 谢谢你的回答,不过我还是希望有更好的消息,哈哈。
    猜你喜欢
    • 1970-01-01
    • 2013-08-18
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多