Until MvvmCross V5 in order to log something from View, ViewModel, Model I have always used the following line:
Mvx.Trace($"lorem ");
Now I want to migrate my project to MVVMCross 6 and I see that this approach is deprecated. Now IMvxLog is required.
On https://www.mvvmcross.com/documentation/fundamentals/logging I have found only one sample related to log at ViewModel level.
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());
}
}
How can I use IMvxLog at "View" and "Model" Level?
thank you!
Just resolve de interface with the IoCProvider:
For Mvx >= 6.2
var logProvider = Mvx.IoCProvider.Resolve<IMvxLogProvider>();
For Mvx < 6.2
var logProvider = Mvx.Resolve<IMvxLogProvider>();
and then you just do
var log = logProvider.GetLogFor<MyObject>();
HIH