log4net按日期生成日志文件-C#学习笔记

时间:2021-07-22 14:07:20
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  -->
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <log4net>
    <root>
      <appender-ref ref="RollingLogFileAppender_DataFormat" />
      <!--向日志文件输出日志信息-->
      <appender-ref ref="ConsoleAppender" />
      <!--向控制台输出日志信息-->
    </root>


    <appender name="RollingLogFileAppender_DataFormat" type="log4net.Appender.RollingFileappender">
      <file value="log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      
     <!-- <MaxSizeRollBackups value="10"/>-->
      <StaticLogFileName value="false"/>
      
      <datePattern value="yyyyMMdd&quot;.log&quot;" />
      
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 日志类:%logger property:[%property{NDC}] - 错误描述:%message 所在行:%line%newline" />
      </layout>
    </appender>


    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 日志类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />
      </layout>
    </appender>
  </log4net>

</configuration>

开始一直没有弄明白按日期生成日志的方法,查来查去才发现是缺少了   <StaticLogFileName value="false"/>这条语句,解除文件名锁定就可以了,同时注意<appender>部分的name设置为RollingLogFileAppender_DataFormat,其他的地方进行相应设置就可以了,&quot;.log&quot;这部分是设置日志文件的后缀名的。