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
Post a Comment