【发布时间】:2017-10-28 18:17:00
【问题描述】:
我有一个“长时间运行”的 WPF 桌面应用程序,它使用 NLog 和 NLogViewer 来显示运行时状态。它用于监视数据库,获取处理请求,然后记录结果。 (是的——应该是一项服务,但我们想先以这种方式开始——小步骤。)结果被记录到一个文本日志文件中,NLogViewer 实时显示日志中的当前项目。
应用程序运行几个小时后,我注意到我只能查看日志的一部分——从当前条目回到一个小时左右之前。滚动条让我向下滚动到最新条目,但在第一个条目之前停止。目前,没有太多的日志记录,即没有调试或跟踪,只有 Info、Warnings 和 Errors,所以我认为日志的大小不会有影响。
有没有办法让 NLogViewer 让我查看整个日志文件,或者它只会向我显示一个有限的日志窗口?是否有备用 NLog 查看器 WPF 控件?我现在并没有真正在看一个独立的 NLog 查看器。如果您需要更多信息,请告诉我。
谢谢!
编辑:我有时间重新审视这个问题,并从 GitHub 获得了 NLogViewer 源代码。在视图的代码隐藏中,对于 ListView 的项目源中保存的条目数有一个硬编码值 50。对于超过 50 的每个项目,从日志的开头删除一个项目。当然,我可以下载源代码并根据自己的喜好对其进行修改,这可能是最终的解决方案,因为该项目已经 3 年没有更新了。但是,我可能会尝试看看是否可以围绕原始控件创建一个包装器,并允许一些基本扩展,例如显示可配置数量的日志条目并始终显示添加的最后一个条目。如果我有任何成功,我会发布我所做的。
【问题讨论】: