Мы только начинаем работу с Log4Net (и желаем, чтобы мы это сделали раньше). Хотя мы можем видеть внутренние исключения и т.д., Одна вещь, которая, кажется, отсутствует на выходе при регистрации исключения, - это любая информация о ключе/значении, хранящаяся в "Исключении .Data". В любом случае мы можем сделать это "из коробки"? Если нет, поскольку мы действительно только начинаем, где нужно искать способ реализовать эту функциональность?
В качестве примера, пожалуйста, см. самый простой псевдо-код ниже. Мы не хотим загрязнять сообщение об исключении контекстной информацией только тем, что проблема (мы, вероятно, потеряли бы больше информации в данных, которые помогут в расследовании реальной проблемы). Но сейчас все, что мы видим в наших журналах, это тип исключения, сообщение, любая трассировка стека, но не исключение "данные". Это означает, что в наших журналах мы теряем идентификатор клиента и т.д. Как мы можем легко получить эту информацию в наших журналах (без необходимости кодировать ее вручную в каждом исключении исключения).
try
{
var ex = new ApplicationException("Unable to update customer");
ex.Data.Add("id", customer.Id);
throw ex;
}
catch(ApplicationException ex)
{
logger.Error("An error occurred whilst doing something", ex);
throw;
}