我正在使用 MVVM 模式编写 WPF 应用程序,并在选定的位置使用 Prism 进行松散耦合,我希望将日志消息显示在窗口中并写入文件。每条路的消息子集可能不同。
我想我应该通过 EventAggregator
发布一条消息(观察者模式的 MS-Prism 实现)并且有两个对象订阅:一个更新 LogWindowViewModel
和使用企业库记录器记录的一种。这是一个好主意还是我复制了已经实现的东西?
最佳答案
日志消息在每个输出中不同的事实是限制因素。
Extending the block可能就足够了,定义一个 CustomTraceListener
或 ILogFilter
可能适合你。这将避免需要使用 EventAggregator
.
归结为谁知道记录什么以及在哪里记录。日志引擎中的差异是否会影响严重性等值?它们是否由日志引擎的使用者驱动并因此与类本身紧密耦合?这些类型的问题将决定您的选择。
在不得不依赖使用 EventAggregator
之前,利用日志记录块中的扩展点将是我的第一选择。 .
关于wpf - 如何使用 WPF 进行日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194458/