Когда я ловлю исключения, я в настоящее время регистрируюсь на каждом уровне. Я не уверен, что это правильно или просто «шуметь» при ведении журнала. Если я выбрасываю исключения, то регистрируюсь на уровне контроллера (не на уровне обслуживания и хранилища), будет ли это захватывать все исключения путем всплытия?
Уровень контроллера
catch (Exception ex)
{
new ErrorReporter("MVC", ex.ToString(), User.Identity);
errorMsgList.Add(ex.Message);
foreach (var item in ex.Data.Values)
{
errorMsgList.Add(item.ToString());
}
}
Хранилище и сервисный уровень
catch (Exception ex)
{
new ErrorReporter("MVC", ex.ToString(), null);
throw;
}
Вот пример моих журналов в базе данных