c# - Log4Net, Cannot use multiple RollingFileAppenders at a time -


i have strange problem. i'm trying create multiple rolling file appenders referencing same file, using 1 of theese appenders @ time.

the matter is, if declare appender this:

<appender name="app1" type="log4net.appender.rollingfileappender">   <file value="c:\log.txt" />   <layout type="log4net.layout.patternlayout,log4net">     <conversionpattern value="%date [%thread] %-5level %logger [%ndc] - message%newline" />   </layout>  </appender> <logger name="app1" additivity="false">   <level value="debug" />   <appender-ref ref="app1" /> </logger> <appender name="app2" type="log4net.appender.rollingfileappender">   <file value="c:\log.txt" />   <layout type="log4net.layout.patternlayout,log4net">     <conversionpattern value="%date [%thread] %-5level %logger [%ndc] - message%newline" />   </layout>  </appender> <logger name="app2" additivity="false">   <level value="debug" />   <appender-ref ref="app2" /> </logger> 

then "app1" logger writes file no problem, not "app2" logger, if it's obtaining first logger. obviously, if make 2 logger switch place, works "app2", not "app1"

also, when appending fails can see in debug window:

log4net: opening file writing [c:\log.txt] append [true] log4net: opening file writing [c:\log.txt] append [true] 

which, guess, means appending, strangely enough doesn't so. , in working scenario cannot see logs. hint appreciated!! time

maybe can write this:

<root>     <level value="debug" />     <appender-ref ref="app1" />     <appender-ref ref="app2" /> </root> 

here configuration file uses multiple appenders. can find in http://logging.apache.org/log4net/release/manual/configuration.html

<log4net> <appender name="console" type="log4net.appender.consoleappender">     <layout type="log4net.layout.patternlayout">         <!-- pattern output caller's file name , line number -->         <conversionpattern value="%5level [%thread] (%file:%line) - %message%newline" />     </layout> </appender>  <appender name="rollingfile" type="log4net.appender.rollingfileappender">     <file value="example.log" />     <appendtofile value="true" />     <maximumfilesize value="100kb" />     <maxsizerollbackups value="2" />      <layout type="log4net.layout.patternlayout">         <conversionpattern value="%level %thread %logger - %message%newline" />     </layout> </appender>  <root>     <level value="debug" />     <appender-ref ref="console" />     <appender-ref ref="rollingfile" /> </root> 

it's possible uses multiple appenders, can't use multiple fileappenders(or rollingfileappenders) log in same file. if change app2 appender log in different file, works.

<appender name="app2" type="log4net.appender.rollingfileappender">   <file value="c:\log2.txt" />   <layout type="log4net.layout.patternlayout,log4net">     <conversionpattern value="%date [%thread] %-5level %logger [%ndc] - message%newline" />   </layout> </appender> 

the problem maybe log4net can't access same file @ same time different fileappenders.


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -