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

标签 wpf logging mvvm prism

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

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

最佳答案

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

Extending the block可能就足够了,定义一个 CustomTraceListenerILogFilter可能适合你。这将避免需要使用 EventAggregator .

归结为谁知道记录什么以及在哪里记录。日志引擎中的差异是否会影响严重性等值?它们是否由日志引擎的使用者驱动并因此与类本身紧密耦合?这些类型的问题将决定您的选择。

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

关于wpf - 如何使用 WPF 进行日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194458/

相关文章:

c# - WPF-如何使用ViewModel的ObservableCollection显示TabItem?

c# - 特定类型的 List<T> 导致 ComboBox 中断

wpf - 并排显示的 ItemsControl DataTemplate 项目

java - 在 React Native 的桥接 Java 方法中使用 Logback

php - Docker中的Apache/PHP error_log位置?

wpf - RadBusyIndi​​cator不显示ViewModel的PRISM/MEF/WPF

wpf - 在我的应用程序中托管基本的 XAML 编辑器?

WPF:菜单项仅绑定(bind)一次命令参数

ios - 为什么 Testflight 的崩溃日志不在 Xcode 中进行符号化?

android - 从 ViewModel 使用 Volley Singleton