1
我想用mvvmcross中的log4net替换MvxDebugTrace,但我不想更改核心源代码,这有可能吗?如何将第三方日志框架(log4net)添加到mvvmcross?
我想用mvvmcross中的log4net替换MvxDebugTrace,但我不想更改核心源代码,这有可能吗?如何将第三方日志框架(log4net)添加到mvvmcross?
Debugtrace在InitializeDebugServices
的设置内初始化。
目前这是使用这些步骤在每个平台上实现(例如从Android电子):
这InitialiseDebugServices
方法被标记为虚拟的 - 这样你就可以覆盖它位于每个平台内您自己的Setup.cs类中。
对于来自MVX建一座桥到log4net的,你需要实现这个简单的IMvxTrace
接口 - https://github.com/slodge/MvvmCross/blob/v3/CrossCore/Cirrious.CrossCore/Platform/IMvxTrace.cs
有了这个做...每个平台上,你应该能够实现MySpecialTrace
它实现IMvxTrace
,然后您应该能够在Setup中使用以下命令初始化它:
protected override void InitializeDebugServices()
{
Mvx.RegisterSingleton<IMvxTrace>(new MySpecialTrace());
MvxTrace.Initialize();
}