Log4Net и регистрирующийся от подобных случаев

Я сделал довольно мало гугления, пытающегося найти этот ответ. Существует много людей, просящих его:

только для именования некоторых...

, таким образом, я не думаю, что каждый существует все же, извините: (

11
задан Peter Lillevold 4 January 2010 в 13:54
поделиться

4 ответа

Обязательно подумайте о создании разных файлов журналов для каждого процесса, возможно, с уникальными именами файлов, созданными с использованием метки времени.

0
ответ дан 3 December 2019 в 05:34
поделиться

Я думаю, что это типичная ситуация, когда желательно централизованное ведение журнала. Вместо того, чтобы беспокоиться о файлах и страдать от узких мест в производительности, я бы предпочел асинхронно перекачивать операторы журнала в какую-нибудь удаленную службу, которая позаботится о хранении и обработке журналов. Взгляните на агрегатор журналов logFaces , он был разработан с целью отделения приложений от управления своими журналами. Он должен работать со стандартным приложением log4net UDP и разбивать данные журнала по приложениям, хостам, потокам и т. Д., Позволяя создавать файлы журналов в любое время, когда они действительно нужны.

Раскрытие информации : я являюсь автором этого продукта.

3
ответ дан 3 December 2019 в 05:34
поделиться

Возможно, вы входите в разные файлы из каждого экземпляра? В противном случае вам, вероятно, потребуется настроить отдельный процесс, предназначенный для ведения журнала. Каждый экземпляр вашей программы отправит туда свои сообщения журнала, и он позаботится о том, чтобы добавить их в файл. Возможно, это можно сделать с помощью SocketAppender. Кроме того, я считаю, что разбиение вывода журнала на блоки с помощью RollingFileAppender намного проще.

0
ответ дан 3 December 2019 в 05:34
поделиться

Вы можете создать собственное приложение, которое открывает файл для записи и затем закрывает его. Если он попадет в заблокированный файл, он может приостановить и повторить попытку небольшое количество раз.

В настраиваемом приложении вы также можете открыть файл в режиме общей записи, что позволит нескольким авторам, но это не помешает частям журнала линии от слияния.

Если вы не пишете много данных, механизм открытия / закрытия, перечисленный выше, вероятно, будет вашим лучшим вариантом. Обратите внимание, что из-за постоянного открытия и закрытия файла вы можете увидеть заметное снижение производительности, если вы регистрируете много данных.

Более сложный механизм, но тот, который может обеспечить высокопроизводительный путь ведения журнала: напишите служба регистрации, которая получает строки журнала через TCP или UDP. Служба будет отвечать за буферизацию данных и запись их на диск. Мы использовали этот подход в прошлом (не через Log4Net, а как общее решение) для повышения эффективности записи журнала.

0
ответ дан 3 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: