Ведение журнала NLog в базе данных в n-уровневой среде - PullRequest
0 голосов
/ 13 июля 2010

В настоящее время мы используем NLog для ведения журнала (это был произвольный выбор, сделанный несколько месяцев назад, поэтому его можно изменить при необходимости).

NLog может войти в базу данных, но требует ConnectionString. Это проблема для нас, так как мы находимся в многоуровневой среде, и у нас нет доступа к базе данных на уровне презентаций (все относится к службам, размещенным на WCF в середине уровня).

У кого-нибудь есть хорошие рекомендации о том, как я могу получить логи из веб-фермы в единый консолидированный репозиторий (SQL, или это может быть какая-то другая технология, например MongoDb и т. Д.), Которая будет находиться за средним уровнем WCF? 1005 *

Да, я знаю, что WCF и другие проблемы могут возникать при попытке получить доступ к хранилищу журналов (недоступность и т. Д.), И в этом случае мы настроим ведение журнала файлов на сервере или что-то такое, чтобы перехватить это.

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

Brian

1 Ответ

0 голосов
/ 13 июля 2010

Для ведения журналов, связанных с бизнес-логикой (т. Е. Не с системными ошибками), я бы рекомендовал создать конечную точку WCF и включить nlog в ваш бизнес-уровень. Таким образом, вы вызываете свои методы ведения журнала так же, как и любой другой метод среднего уровня.

Это оставляет системные ошибки, такие как дБ / сетевые ошибки и т. Д. Для этих опций включают журнал событий Windows, электронную почту, файл, Twitter :) и т. Д. Выберите свой выбор. пока это не зависит от базы данных у вас все в порядке. И в зависимости от того, насколько критично ваше приложение, вы можете использовать несколько методов, таких как файловая система + электронная почта.

...