log4net.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net debug="false">
<logger name="Log">
<level value="ERROR" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<logger name="logsystem">
<level value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="logdata">
<level value="ALL" />
<appender-ref ref="DataRollingFileAppender" />
</logger>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="White" />
<backColor value="Red, HighIntensity" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] [%-5level] %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<datePattern value="yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread][%-5level] %message%newline" />
</layout>
</appender>
<appender name="DataRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="data_{0}.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10GB" />
<staticLogFileName value="true" />
<datePattern value="yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
</log4net>
</configuration>
配置有2个Logger, logsystem 和 logdata
其中DataRollingFileAppender文件名根据需要填充
填充代码
public static void ResetLogConfig(string dataFileName)
{
var xmlFmt = File.ReadAllText("log4net.config", encoding:System.Text.Encoding.UTF8);
var xmlStr = string.Format(xmlFmt, dataFileName);
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlStr);
XmlNode node = doc.SelectSingleNode("/configuration/log4net");
log4net.Config.XmlConfigurator.Configure(node as XmlElement);
_LogSystem = LogManager.GetLogger("logsystem");
_LogData = LogManager.GetLogger("logdata");
}
Mark, 不要忘记了