【问题标题】:How to do logging with WPF?如何使用 WPF 进行日志记录?
【发布时间】:2011-03-04 13:39:54
【问题描述】:

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

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

【问题讨论】:

    标签: wpf logging mvvm prism


    【解决方案1】:

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

    Extending the block 可能就足够了,定义CustomTraceListenerILogFilter 可能对你有用。这将避免需要使用EventAggregator

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

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

    【讨论】:

    • 同意在这种情况下使用EventAggregator 是最后的选择。扩展日志记录块并监听日志将是更好的做法。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我将Common.Logging 用作数据收集器、过滤器和分发器以进行类似的操作,并为我自己的处理和 ui 输出编写了一个自定义附加程序。

      【讨论】:

        猜你喜欢
        • 2016-06-05
        • 2014-04-13
        • 1970-01-01
        • 2012-05-11
        • 2011-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多