MVVMCROSS Использовать MvxLog вне ViewModel - PullRequest
0 голосов
/ 16 ноября 2018

До 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 на уровне «Вид» и «Модель»?

спасибо!

1 Ответ

0 голосов
/ 17 ноября 2018

Просто разрешите интерфейс с IoCProvider:

Для Mvx> = 6,2

var logProvider = Mvx.IoCProvider.Resolve<IMvxLogProvider>();

Для Mvx <6,2 </p>

var logProvider = Mvx.Resolve<IMvxLogProvider>();

и тогда вы просто делаете

var log = logProvider.GetLogFor<MyObject>();

HIH

...