log4net closed appender error with config in code -
i got in trouble l4n configuration. working on big project, try configure logger(s) via code. app.config-content:
<configsections> <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/> </configsections> <log4net> <root> <level value="debug"/> </root> <logger name="nesseeservercorelogger"> <level value="info"/> </logger> </log4net>
and following written in code, in case in ctor of 1 class: (only change: m_rfa member class member in productive code)
log4net.filter.levelrangefilter lrf = new log4net.filter.levelrangefilter(); lrf.levelmin = log4net.core.level.info; lrf.levelmax = log4net.core.level.fatal; //create , configure rolling file appender log4net.appender.rollingfileappender m_rfa = new log4net.appender.rollingfileappender(); m_rfa.name = "nesseeservercore_rfa"; m_rfa.immediateflush = true; m_rfa.appendtofile = true; m_rfa.file = @"c:\temp\nesseeservercore_log.txt"; m_rfa.maxfilesize = 52428800; // 50 mib m_rfa.maxsizerollbackups = 5; m_rfa.staticlogfilename = true; m_rfa.rollingstyle = log4net.appender.rollingfileappender.rollingmode.size; var layout = new log4net.layout.patternlayout() { conversionpattern = "[%utcdate{dd.mm.yyyy hh:mm:ss,fff}] %level\t%type{1}->%method:%line : %message %newline" }; layout.activateoptions(); m_rfa.layout = layout; m_rfa.addfilter(lrf); m_rfa.addfilter(new log4net.filter.denyallfilter()); m_rfa.activateoptions(); log4net.config.basicconfigurator.configure(m_rfa);
this works fine far. problem is: sometimes, when exception occures in application (running windows service, integrated button provoke exception), logger stopps writing file. turned on internal debugging on l4n. gives me following output:
7/31/2013 1:42:30 pm: log4net:error [rollingfileappender] errorcode: genericfailure. attempted append closed appender named [nesseeservercore_rfa]. 7/31/2013 1:42:30 pm: log4net:error [fileappender] errorcode: genericfailure. attempted append closed appender named [].
the second file appender seems 1 internal debugging itself. after 1:42:30, there no log entries more.
what have fix problem? have reinitialize logger completely?
Comments
Post a Comment