直到MvvmCross V5为了从View,ViewModel,Model中记录某些内容,我一直使用以下行:
Mvx.Trace($"lorem ");
现在,我想将我的项目迁移到MVVMCross 6,并且我发现不赞成使用这种方法。现在需要IMvxLog。
在https://www.mvvmcross.com/documentation/fundamentals/logging上,我只发现了一个与ViewModel级别的日志相关的示例。
public class MyViewModel : MvxViewModel
{
private readonly IMvxLog _log;
public MyViewModel(IMvxLogProvider logProvider)
{
_log = logProvider.GetLogFor<MyViewModel>();
}
private void SomeMethod()
{
_log.ErrorException("Some message", new Exception());
}
}
如何在“视图”和“模型”级别使用IMvxLog?
谢谢!
答案 0 :(得分:1)
只需解决与IoCProvider的接口:
对于Mvx> = 6.2
var logProvider = Mvx.IoCProvider.Resolve<IMvxLogProvider>();
对于Mvx <6.2
var logProvider = Mvx.Resolve<IMvxLogProvider>();
然后您就做
var log = logProvider.GetLogFor<MyObject>();
HIH