Я разрабатываю C#, ASP.NET MVC Web Api, Entity Framework и .NET Framework 4.0.Записывать всю информацию об исключениях для любого исключения
У меня есть этот код для входа исключение:
public void LogCompleteException(
string controllerName,
string actionName,
Exception exception)
{
string exceptionMessage = string.Empty;
Exception e = exception;
if (e.InnerException == null)
e = null;
else
while (e.InnerException != null) e = e.InnerException;
if (e == null)
exceptionMessage = exception.Message;
else
exceptionMessage = string.Format("{0}\n\rInnerException: {1}", exception.Message, e.Message);
_logger.ErrorFormat(
LogTextFormatString,
ExceptionText,
controllerName,
actionName,
exceptionMessage);
}
Но на мой лог-файл я нашел это:
Проверка не для одного или нескольких объектов. Дополнительную информацию см. В разделе Свойство EntityValidationErrors.
Когда я писал «свойство для получения более подробной информации.„“Увидеть» EntityValidationErrors, я только показываю пример, где я не войти важное свойство.
Существует множество исключений; но с моим методом я не регистрирую всю соответствующую информацию, потому что могут существовать такие свойства, как «EntityValidationErrors», которые я не регистрирую.
Когда я передаю исключение для его регистрации, я не знаю, какие у него свойства, и я не знаю, как регистрировать каждое свойство, которое у него есть.
Знаете ли вы, что метод полностью регистрирует исключение? Мой код не содержит длинных исключений с собственностью EntityValidationErrors
или любым другим важным свойством.
Я веду журнал с log4net.
Я предполагаю, что регистрация осуществляется через log4net? – br4d
Да, я регистрирую log4net. – VansFannel
Почему бы не использовать exception.ToString()? –