Reputation: 2516
In my Web app I want to have the ability to toggle text file logging on or off, is there a way within log4net for this to be accomplished?
Right now I'm doing this in my log4net.config file, but this makes me think it's going to log in both places all the time:
<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 I'm looking for a way to do this through a .config setting, whether it's something that needs to be added to the log4net.config or the web.config file.
Upvotes: 0
Views: 224
Reputation: 700
I don't know about web.config, but if you add the below line into your appender for the log4net.config it should work.
<threshold value="OFF"/>
As long as the value is greater than the entry your sending, it won't show up in the log (i.e. value="WARN" won't log an entry for DEBUG/INFO.) Then you can change it to "OFF" to suppress any logging.
Upvotes: 1