log4net按时间日期,文件大小和个数生成日志文件

从启动模板生成的基于ABP的应用默认使用的log4net日志框架,当然你也可以使用其他的日志框架。

ABP默认的log4net.config配置文件配置的很简单,将所有的日志都写到了一个txt文件中,下面分享一下我的日志配置文件。

配置文件代码


<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <file value="Logs/" />
    <datePattern value="yyyyMMdd-HH'.txt'"/>
    <appendToFile value="true" />
    <!--<rollingStyle value="Date" />-->
    <staticLogFileName value="false"/>
    <rollingStyle value="Composite" />
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="1MB"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
    </layout>
  </appender>
  <root>
    <appender-ref ref="RollingFileAppender" />
    <level value="DEBUG" />
  </root>
  <logger name="NHibernate">
    <level value="WARN" />
  </logger>
</log4net>

解释

这里只解释几个稍微不一样的地方,其他的大家可自己搜索资料学习。

  • <datePattern value="yyyyMMdd-HH'.txt'"/>日期模式,这个会生成到文件名中,注意这里是日期(变量)和文件后缀.txt(常量)的组合,其中常量是带单引号的。
  • <staticLogFileName value="false"/>是否设置为静态日志文件名,这里如果不设置的话,上面的配置不会起作用。
  • <rollingStyle value="Composite" /> 复合(日期和文件大小)滚动样式。
  • <maxSizeRollBackups value="10"/> 最大滚动备份数量

总之,我的配置文件的意思就是,按照小时记录日志,每个文件最大为1MB,每小时最多保存10个文件(也就是你这1小时内最多能看到10个文件)。

效果

最终的效果见下图:

图片

posted @ 2016-03-18 18:50  tkbSimplest  阅读(8070)  评论(0编辑  收藏  举报