Итак, я собираюсь отказаться от Log4Net в пользу Microsoft Enterprise Library или чего-то еще.
Сравнение альтернативных каркасов журналов, которые вы, возможно, захотите рассмотреть, см. http://essentialdiagnostics.codeplex.com/wikipage?title=Comparison
Сравнивает .NET Framework System.Diagnostics (встроенные возможности), log4net, NLog и Enterprise Library, включая сравнение производительности.
У каждого есть свои сильные и слабые стороны, но EntLib особенно плохо работает при сравнении производительности и, с точки зрения возможностей, иногда имеет меньше, чем встроенная .NET Framework System.Diagnostics.
Если вас особенно беспокоит производительность, то log4net немного выигрывает с аналогичной .NET Framework System.Diagnostics.
NLog имеет очень небольшие накладные расходы, когда не ведет журнал (то есть просто оставляет его в коде), быстрее, чем log4net или System.Diagnostics, но с увеличением объема журналирования начинает отставать.
Для высокопроизводительного ведения журнала с использованием System.Diagnostics с ротацией журналов (включая круговую), взгляните на EventSchemaTraceListener, о котором я недавно писал в блоге о , но инструментальная поддержка для просмотра журналов (которые в формате XML) не очень хорошо.
Я бы посоветовал вам настроить тестирование производительности, если вас это беспокоит. Для сравнения, указанного выше, исходный код сравнения производительности доступен в проекте Essential Diagnostics , так что вы можете запустить его самостоятельно, но, возможно, захотите приспособиться к вашей ситуации.