С помощью log4net и где его реализовать и используя elmah?

У кого-нибудь есть опыт работы с log4net, я смотрел на elmah, который велик. Но я хотел немного больше контролировать, то есть использовать ведение журнала не только в asp.net, но и в wpf.

Anway я решил взглянуть на log4net.

У меня есть 2 клиента (wpf и asp.net), которые разделяют бизнес-логику.

Должен ли я поднимать события в бизнес-логике и на клиенте также?

Я предполагаю, что бизнес-логика будет использовать app.config/web.config(бизнес-логика находится в другом слое - проект класса)

Кто-нибудь использовал log4net вместе с elmah, есть ли в любом случае вы можете заставить их использовать одну и ту же таблицу db?

log4net, по-моему, представляет собой окончательную структуру ведения журнала, но elmah имеет этот край представления всех переменных SERVER и трассировки стека и т.д.

Или возможно его можно получить log4net, чтобы сохранить Stacktrace также и полностью заменить elmah??

Любые комментарии действительно оценены

Ответ 1

Они используются для двух разных целей.

Elmah используется для поиска и хранения исключений, которых вы не ожидали. Он также предоставляет несколько интерфейсов (веб-страницу, RSS, email alerter) для предоставления исключений.

Log4net, с другой стороны, предназначен для регистрации событий (включая ошибки, вызванные исключениями), которые, как вы знали, могут произойти (иначе у вас не было бы блока try/catch).

Следовательно, вы должны использовать оба, а не то или другое.

Чтобы ответить на ваш конкретный вопрос, вы можете получить log4net для регистрации stacktrace исключения, но вы не должны обычно регистрировать трассировку стека для каждого отладочного сообщения, которое вы регистрируете. Также возможны переменные сервера ведения журналов и другие веб-специфические материалы, но для этого потребуется определенное пользовательское кодирование, которое вы не хотите делать.

Ответ 2

Я использую log4net какое-то время, и в первую очередь у меня есть слой данных и бизнес-уровни, которые делают все ошибки для ошибок. Однако, если на вашем слое презентации есть приличное количество "вычислений", идущих с объектами, было бы целесообразно также иметь соответствующую информацию.

Вы можете настроить log4net для сохранения своих настроек в файле .config или в отдельном файле конфигурации. Преимущество отдельного файла заключается в том, что если вам нужно переключать режимы ведения журнала на лету, вы можете сделать это в отдельном файле .config и не запускать IIS обновление приложения на сайте.

Я еще не использовал ELMAH, но он выглядит очень красиво. Я думаю, что более важно, он предоставляет возможность подключаться к существующим приложениям без каких-либо проблем. Однако log4net предоставляет более простой способ получить более подробную и обширную информацию о регистрации, так как у вас есть так много параметров конфигурации, с которыми можно работать.

Если вам не нужен тонкий уровень регистрации для ваших приложений, я бы пошел с ELMAH. Если вы хотите перейти к более подробному подходу, найдите время для работы log4net в своем приложении.

Что мои 10 бит.