Мне нужно отлавливать исключения log4net (свои собственные исключения, а не исключения приложений, зарегистрированные им).Я хотел бы, чтобы есть способ сделать это следующим образом:
Try
_logger.Info(response)
Catch ex As Exception
Excepciones.HandleException(ex, "PolicyCore")
End Try
Я реализовал этот код, и нет ошибок при компиляции, но я заставляю log4net иметь ошибку (указывающую на несуществующую базу данных в файле конфигурации) и ничего не выбрасывается.
Я попробовал подход слушателя:
<appSettings>
<add key="log4net.Internal.Debug" value="true" />
</appSettings>
<system.diagnostics>
<trace autoflush="true" indentsize="4" >
<listeners>
<add name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\\temp\\log4net.txt" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
, и он записывает ошибки в log4net.txt, принудительные, которые я имею в виду.
Это последнееУ aproach есть пара недостатков: он не добавляет каждую ошибку в файл, если ошибка такая же, он не записывает ее, я не могу заставить слушателя записать каждую ошибку в этот файл, только один (яне знаю, как полностью настроить прослушиватель трассировки, это может быть так).Таким образом, он не будет добавлять дату и час к каждой строке, которая необходима для меня.Наконец, я не могу дать структуру (XML).
Даже если слушатель работает , мне нужно использовать метод try / catch , так как я использую ExceptionHandling из библиотеки Enterprise, чтобы регистрировать ошибки в моем приложении.
Кто-нибудь, кто сталкивался с проблемой и / или имеет решение?