Log4net 每天创建一个文件夹,并在达到最大大小时创建一个新文件

Log4net 每天创建一个文件夹,并在达到最大大小时创建一个新文件,log4net,Log4net,我需要在我的应用程序位置之外创建一个日志目录,并为每个日期创建一个文件夹。我还需要在达到最大大小时创建一个新文件 我正在使用以下代码: <log4net> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"> <file type="log4net.Util.PatternString" value="D:/Logs/EmailS

我需要在我的应用程序位置之外创建一个日志目录,并为每个日期创建一个文件夹。我还需要在达到最大大小时创建一个新文件

我正在使用以下代码:

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <file type="log4net.Util.PatternString" value="D:/Logs/EmailService/"/>
      <appendToFile value="true"/>
      <rollingStyle value="Size"/>
      <datePattern value=".yyyyMMdd\\\\'service.log"/>
      <staticLogFileName value="true"/>
      <maximumFileSize value="5MB"/>
      <maxSizeRollBackups value="20"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] – %message%newline"/>
      </layout>
      <lockingModel type="log4net.Appender.FileAppender+MutexLock" />
    </appender>

    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>

但是,不会创建这些文件。怎么了

更新 以下是完整的代码,连同@stuartd的答案,我们能够创建每个日期的目录:

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <file type="log4net.Util.PatternString" value="D:/Logs/emailservice/%date{yyyyMMdd}/logfile.log"/>
      <appendToFile value="true"/>
      <rollingStyle value="Composite"/>
      <maximumFileSize value="5MB"/>
      <maxSizeRollBackups value="20"/>
      <datePattern value="yyyyMMdd"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] – %message%newline"/>
      </layout>
    </appender>

    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <level value="WARN" />
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>

要按日期和大小滚动,必须在配置中设置

复合-根据文件大小和日期滚动文件


我认为您应该在文件模式中使用反斜杠,而不是正斜杠。另外,我认为在datepattern-windows中不应该有前缀