Использование NLog с несколькими серверами. Хотите записать в 1 файл на определенном сервере

У меня есть приложение asp.net mvc, использующее nLog, которое развернуто на 3 серверах, назовем их webserver1, webserver2 и webserver3. В настоящее время каждый записывает файл журнала в базовый каталог/дата приложения/каталог. Я хотел бы иметь только один журнал на определенном сервере (не на веб-серверах). Есть какой-либо способ сделать это?


person JPiasente    schedule 05.03.2012    source источник


Ответы (1)


У вас есть несколько вариантов:

  1. Возможно, вы сможете настроить целевой файл для ведения журнала в файл, указанный URL-адресом. Не совсем уверен, что это сработает по двум причинам: во-первых, не уверен, что вы можете указать имя файла по URL-адресу. Во-вторых, не уверен, что это хорошая идея, чтобы несколько процессов записывались в один и тот же журнал в один и тот же файл.

  2. Лучший вариант... Используйте DatabaseTarget для отправки сообщений журнала в базу данных.

  3. Еще лучший вариант (??)... Используйте NLogReceiverServiceTarget для входа в NLogReceiverService (служба WCF ). Служба NLogReceiverService WCF на самом деле является просто еще одним «приложением», которое «регистрирует» с помощью NLog, поэтому его назначение ведения журнала (Target) может быть настроено так, как вам нравится (журнал в файл, базу данных и т. д.).

person wageoghe    schedule 05.03.2012