如何将第三方日志框架(log4net)添加到mvvmcross?

时间:2013-05-03 05:37:14

标签: mvvmcross

我想在mvvmcross中使用log4net来替换MvxDebugTrace,但我不想更改核心源代码,是否可能?

1 个答案:

答案 0 :(得分:3)

Debugtrace在InitializeDebugServices中的设置中初始化。

目前,这是使用这些步骤在每个平台上实现的(示例来自Android):

InitialiseDebugServices方法被标记为虚拟 - 因此您可以在每个平台内的自己的Setup.cs类中覆盖它。

要构建从mvx到log4net的桥接,您需要实现这个简单的IMvxTrace接口 - https://github.com/slodge/MvvmCross/blob/v3/CrossCore/Cirrious.CrossCore/Platform/IMvxTrace.cs

完成此操作...在每个平台上,您应该能够实现MySpecialTrace实现IMvxTrace,然后您应该能够使用以下命令在安装程序中初始化它:

    protected override void InitializeDebugServices()
    {
         Mvx.RegisterSingleton<IMvxTrace>(new MySpecialTrace());
         MvxTrace.Initialize();
    }