木子屋 Dnawo's BLOG

log4net按天生成日志及文件名改进方法

👤 dnawo 📅 2011-08-03 👁 9900 👍 0 💬 0 🔄 本站原创
log4net的RollingFileAppender对象允许我们按天来生成日志文件,只需设置好.config文件即可:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- Logger -->
    <logger name="Logger1">
      <level value="ALL"/>
      <appender-ref ref="RollingLogFileAppender" />
    </logger>
    <!-- Appender -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log.log" />
      <param name="appendToFile" value="true" />
      <param name="rollingStyle" value="Date" />
      <param name="datePattern" value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}: %m,line:%L%n"/>
      </layout>
    </appender>
  </log4net>
</configuration>

不完美的是生成的日志文件名如下:

Log.log20110803
Log.log20110805
Log.log20110806
Log.log

显然,除了当天的日志文件(Log.log)正常外,其他日志文件名的扩展名都有问题,有没有办法让日志文件名格式为"Log年月日.log"呢?再来修改下.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- Logger -->
    <logger name="Logger1">
      <level value="ALL"/>
      <appender-ref ref="RollingLogFileAppender" />
    </logger>
    <!-- Appender -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="[color=Red]Log[/color]" />
      <param name="appendToFile" value="true" />
      <param name="rollingStyle" value="Date" />
      <param name="datePattern" value="[color=Red]yyyyMMdd".log"[/color]" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}: %m,line:%L%n"/>
      </layout>
    </appender>
  </log4net>
</configuration>

生成的日志文件名如下:

Log20110803.log
Log20110804.log
Log20110805.log
Log

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 DateTime.ToString格式限定符转义 下一篇 → 淘宝数据魔方技术架构解析