Привет. Я пытаюсь удалить журнал в App Domain с помощью NLog.Это приложение WPF с Caliburn Micro.
В загрузчике MEF у меня есть этот код:
static readonly ILog Log = LogManager.GetLog(typeof(NLogLogger));
#region Constructors
public MefBootStrapper()
: base()
{
_msgBox = new MessageBoxes();
_doHandle = true;
}
static MefBootStrapper()
{
LogManager.GetLog = type => new NLogLogger(type);
}
#endregion
#region Exception handling on App Domain
protected override void OnUnhandledException(object sender,
System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
if (_doHandle)
{
Log.Error(e.Exception.InnerException);
_msgBox.ShowException(e.Exception.InnerException);
e.Handled = true;
}
else
{
Log.Error(e.Exception.InnerException);
_msgBox.ShowException(e.Exception);
e.Handled = false;
}
}
#endregion
Когда я запускаю приложение и выкидываю исключение из класса видоизменения представления, оно показывает окно сообщения, которое нормально, ноисключение не записывается в файл.
Я пытаюсь создать исключение журнала в вызовах модели представления:
что-то вроде этого: Log.Error (new Exception ("4"));
Это работает, но если я пытаюсь зарегистрировать исключение в методе OnUnhandleException, он не работает.Почему?