Как установить стратегию ролловера в журнале трассировки System.Diagnostics?
У меня есть проект, который использует System.Diagnostics для ведения журнала,
И это создает много новых файлов журналов, каждый из которых начинается с GUID,
Даже когда последний файл журнала был очень маленьким
Я хочу установить роль, которая контролирует создание нового файла журнала
Где я могу это настроить?
И второй вопрос: где я могу установить журнал для записи не UTC время?
Спасибо
2 ответа
См. Следующую ссылку для обсуждения слушателей трассировки опрокидывания:
Какой лучший tracelistener файла журнала ролловера для.NET
Принятый ответ рекомендует FileLogTraceListener:
http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.logging.filelogtracelistener.aspx
Я бы посоветовал вам также взглянуть на Ukadc.Diagnostics как на способ повысить гибкость (и форматирование) трассировки / ведения журнала System.Diagnostics:
http://ukadcdiagnostics.codeplex.com/
Чтобы ответить на ваш последний вопрос о входе в систему, отличную от UTC, я думаю, что единственный ответ - написать собственный TraceListener (или использовать чужой, такой как Ukadc.Diagnostics).
Само собой разумеется, что каркасы журналирования, такие как NLog и log4net, очень популярны по определенной причине: они предоставляют чрезвычайно мощные и гибкие решения для ведения журналов, позволяя вам сосредоточиться на функциональности вашего приложения, а не на решении проблем с журналированием.
Я также сталкивался с обеими проблемами (размер файла -rollover и Timestamps non UTC для событий) стандартной реализации TraceListener, и я не хотел иметь сторонний инструмент.
Я нашел это решение, которое приходит с минимальными усилиями:
http://www.geekzilla.co.uk/View2C5161FE-783B-4AB7-90EF-C249CB291746.htm