生成日志的应用程序中的实时日志监控

本文关键字:日志 实时 监控 应用程序 | 更新日期: 2023-09-27 18:10:55

我在。net中有一个应用程序,我需要记录。我想记录某些事件和异常。我在网上看到log4net被大力推荐用于此目的。我将它设置为快速开始记录到一个txt文件。

但这对我的目的来说还不够好。在我的应用程序中,我希望能够打开一个监视器,其中包含正在生成的所有日志的实时列表。

如果log4net是最好的方法?如果不是,那是什么?

我没有问题消费日志事件和找到我自己的方式来显示数据,我只是不知道什么是最好的方式是发送日志事件到我的监视器表单

生成日志的应用程序中的实时日志监控

您可能想看看log2console,它是一个与log4net兼容的优秀日志监视器。它可以监听log4net远程附加程序,并很好地显示数据。

如果您需要在程序中实现自己的监视器,我建议您尝试MemoryAppender。这里有一些有用的信息(这个问题实际上是一个很好的教程)

可以看到,他设置了两个追加器——一个记录到文件,另一个记录到内存追加器。在监视器中,可以使用以下代码获取appender的句柄:

Hierarchy hierarchy = LogManager.GetRepository() as Hierarchy;
MemoryAppender mappender = hierarchy.Root.GetAppender("MemoryAppender") as MemoryAppender;

mappender.Clear()清除之前,您可以在mappender.GetEvents()的后台线程中周期性地获得新事件。请记住,这不是线程安全的,因此为日志记录创建一个线程安全的包装器可能是一个好主意。