2016-06-01 2 views
0

Я создал проект, который использует log4net для ведения журнала. Теперь у меня есть также loggings из 3rdparty-dll в моем файле журнала. Как я могу предотвратить это, когда сторонняя dll регистрируется в «моем» файле?log4net - журналы сторонних dll в моем файле

это моя каротаж конфигурация:

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
</configSections> 
<log4net> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> 
    <applicationName value="proconact.dataservice" /> 
    <threshold value="FATAL" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger{2} - %message%newline" /> 
    </layout> 
    </appender> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="${ALLUSERSPROFILE}/proconact/proconact.dataservice.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="1MB" /> 
    <staticLogFileName value="true" /> 
    <threshold value="DEBUG" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger{2} - %message%newline" /> 
    </layout> 
    </appender> 
    <root> 
    <level value="All" /> 
    <appender-ref ref="RollingFileAppender" /> 
    </root> 
</log4net> 

ответ

0

Если ваш код в одном пространстве имен, вы можете сделать что-то подобное.

<root> 
    <level value="OFF" /> 
</root> 

<logger name="MyNameSpace"> 
    <level value="ALL" /> 
    <appender-ref ref="RollingFileAppender" /> 
</logger> 

Это отключает ведение журнала, для всех пространств имен, начиная с MyNameSpace, за исключением (и который включает в себя все пространства имен внутри MyNameSpace).

0

До тех пор, пока имена логинов, используемые сторонней DLL, несовместимы, вы можете добавить filter к вашим добавителям: это приведет к подавлению любого ведения журнала с использованием имени регистратора, начинающегося с Third.Party.Logger.Namespace. Он должен быть добавлен к каждому приложению и не может быть добавлен в элемент root.

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <filter type="log4net.Filter.LoggerMatchFilter"> 
    <loggerToMatch value="Third.Party.Logger.Namespace" /> 
    <acceptOnMatch value="false" /> 
</filter> 
…