log4net根据业务需求实时变更输出日志文件名

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, 不要忘记了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值