Как мне программно управлять размерами файлов журнала WCF?

#.net #wcf #web-services #logging

#.net #wcf #веб-сервисы #ведение журнала

Вопрос:

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

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

Я действительно не знаю, каким будет наилучший подход к этому. Существуют ли классы .NET, которые предоставляют мне доступ к файлам журнала SVC? Или мне нужно будет написать службу, которая специально отключает службу, переименовывает и перемещает журналы в файловой системе, а затем снова включает службу?

Любая помощь приветствуется!

Ответ №1:

Существует хороший CodeProject для свертывания журналов службы WCF:

Когда-либо возникала проблема с увеличением файлов svclog после настройки трассировки в продуктивной среде WCF? Не хотелось перезапускать приложение только для удаления или перемещения файлов трассировки?

Тогда вам понравится RollingXmlWriterTraceListener, который является специализированным XmlWriterTraceListener и полностью совместим с средством трассировки WCF.

Хорошо справляется с задачей…