Try the following:
<log4net> <root> <level value="Error" /> <appender-ref ref="RollingLogFileAppender" /> </root> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="<FilePath>" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <maxSizeRollBackups value="14" /> <countDirection value="1" /> <maximumFileSize value="4096KB" /> <lockingModel type="log4net.Appender.FileAppender.MinimalLock" /> <staticLogFileName value="true" /> <PreserveLogFileNameExtension value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newlineDate[%date] ThreadID[%thread] Level[%-5level] Logger[%logger]] - %message%newline" /> </layout> </appender> </log4net>
In addition to this, there should be a Log4Net entry in the configuration section, an example:
<configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/> </configSections> </configuration>
There is an ILog variable in your Logger class, and in the constructor, configure the logger as follows:
private ILog log; public Log4NetLogger() { log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); log4net.Config.XmlConfigurator.Configure(); }
source share