2015-03-23 2 views
0

В моем веб-приложении я хочу включить или выключить ведение журнала текстовых файлов, есть ли способ в log4net для этого?Переключение ведение журнала текстовых файлов в log4net

Прямо сейчас я делаю это в моем файле log4net.config, но это заставляет меня думать, что он собирается войти в обоих местах все время:

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> 
    <param name="ApplicationName" value="Lending Service" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message %newline %exception" /> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
    <levelMin value="INFO"/> 
    <levelMax value="FATAL"/> 
    </filter> 
</appender> 

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="mylogfile.txt"/> 
    <appendToFile value="true"/> 
    <rollingStyle value="Size"/> 
    <maxSizeRollBackups value="5"/> 
    <maximumFileSize value="10MB"/> 
    <staticLogFileName value="true"/> 

    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/> 
    </layout> 

</appender> 

<root> 
    <level value="DEBUG"/> 
    <appender-ref ref="RollingFileAppender"/> 
    <level value="ALL"/> 
    <appender-ref ref="EventLogAppender" /> 
</root> 

EDIT Я ищу способ сделать это с помощью параметра .config, нужно ли его добавить в файл log4net.config или файл web.config.

ответ

1

Я не знаю о web.config, но если вы добавите строку ниже в ваш appender для log4net.config, она должна работать.

<threshold value="OFF"/> 

Пока значение больше, чем запись на отправку, он не будет отображаться в журнале (то есть значение = «WARN» не будет регистрировать запись для DEBUG/INFO.) Тогда вам может изменить его на «ВЫКЛ» для подавления любого ведения журнала.

+0

Именно то, что я искал! Спасибо –

+0

Нужно ли перезапуск log4net для перезагрузки, чтобы получить какие-либо изменения конфигурации? – hometoast

+1

Не требуется перезагрузка. По крайней мере, в тестовом приложении WinForm есть параметр Watch, установленный True, и он принимает изменения во время работы приложения. Capellan

Смежные вопросы