繁体   English   中英

如何使用WPF进行日志记录?

[英]How to do logging with WPF?

我正在使用MVVM模式编写WPF应用程序,并在选定位置使用Prism进行松散耦合,并且我希望在窗口中显示日志消息并将其写入文件。 每个方向的消息子集可能不一样。

我想我应该通过EventAggregator (观察者模式的MS-Prism实现)发布消息,并且有两个对象订阅:一个更新LogWindowViewModel ,另一个使用Enterprise Library记录器记录。 这是一个好主意还是我复制已经实现的东西?

每个输出中日志消息不同的事实是限制因素。

扩展块可能就足够了,定义CustomTraceListenerILogFilter可能会为您解决问题。 这样可以避免使用EventAggregator

归结为谁知道记录的内容和位置。 这些差异是否取决于日志记录引擎中的值,例如严重性? 它们是由日志引擎的消费者驱动,因此与类本身紧密耦合? 这些类型的问题将决定您的选择。

在不得不依赖于使用EventAggregator之前,利用日志记录块中的扩展点将是我的首选。

我认为一个想法很好。 似乎没有那么多功能可以复制

我使用Common.Logging作为数据收集器,过滤器和分配器,用于可比较的东西,并为我自己的处理和ui输出编写了一个自定义appender。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM