<log4net>
    <root>
      <debug value="false" />
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <!--日志文件路径-->
      <!--相对路径,在项目的根目录下-->
      <!--以最后一个路径为准-->
      <param name="File" value="Upload\\Logs\\Log4Net.log"/>
      <appendToFile value="true" />
      <!--可以为:Once|Size|Date|Composite-->
      <!--Composite为Size和Date的组合-->
      <rollingStyle value="composite" />
      <!--日志最大个数,都是最新的-->
      <!--rollingStyle节点为Date时,该节点不起作用-->
      <!--rollingStyle节点为Size时,只能有value个日志-->
      <!--rollingStyle节点为Composite时,每天有value个日志-->
      <maxSizeRollBackups value="10" />
      <!--当备份文件时,为文件名加的后缀-->
      <!--后缀为*.txt时,例:AX.txt_2008-07-24.PxP  应该是程序上的一个bug-->
      <!--后缀为*.TXT时,例:AX.txt_2008-07-25.TXT-->
      <datePattern value="_yyyy-MM-dd.log" />
      <!--可用的单位:KB|MB|GB-->
      <!--不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="100KB" />
      <!--置为true,当前最新日志文件名永远为file节中的名字-->
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出样式-->
        <param name="ConversionPattern" value="Data:%d%nthread:%t%nLevel:%p%nClass:%c%nFile:%F%nLine:%L%nMessage:%m%n%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="WARN" />
        <param name="LevelMax" value="FATAL" />
      </filter>
    </appender>
  </log4net>我想实现
1:日志的文件最大大小为100KB
2:第天分别存在为一个日志文件如今天
Log4Net20100910.log
明天
Log4Net20100911.log
如果文件超过100KB的话新建一文件
Log4Net20100910_1.log
Log4Net20100910_2.log
这样下去那log4.net的XML如何配置才能实现我上面的要求呢?谢谢

解决方案 »

  1.   

    改进log4net支持按日期产生日志文件
      

  2.   

    ASP.NET使用log4Net日志组件教程(日志按大小切割)
      

  3.   

    http://www.075568.cn/Html/news_2356.html
      

  4.   


      <log4net>
        <root>
          <debug value="false" />
          <level value="ALL" />
          <appender-ref ref="LogFileAppender" />
        </root>
        <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
          <!--日志文件路径-->
          <!--相对路径,在项目的根目录下-->
          <!--以最后一个路径为准-->
          <File value="Upload/Logs/"/>
          <appendToFile value="true" />
          <!--可以为:Once|Size|Date|Composite-->
          <!--Composite为Size和Date的组合-->
          <RollingStyle value="Date"/>
          <!--当备份文件时,为文件名加的后缀-->
          <!--后缀为*.txt时,例:AX.txt_2008-07-24.PxP  应该是程序上的一个bug-->
          <!--后缀为*.TXT时,例:AX.txt_2008-07-25.TXT-->
          <DatePattern value="&quot;Logs_&quot;yyyyMMdd&quot;.log&quot;" />
          <!--置为true,当前最新日志文件名永远为file节中的名字-->
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <!--输出样式-->
            <param name="ConversionPattern" value="Data:%d%nthread:%t%nLevel:%p%nClass:%c%nFile:%F%nLine:%L%nMessage:%m%n%n"/>
            <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
            <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="WARN" />
            <param name="LevelMax" value="FATAL" />
          </filter>
        </appender>
      </log4net>我改成上面,连日志文件输出都没有了
    <File value="Upload/Logs/"/>
    =》
    <File value="Upload/Logs/logs.log"/>
    这样的话就有日志,但不是按时间而是就是这个名字我上面有哪设置出错了呢?
      

  5.   

    把<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    改成<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    加上<param name="MaxSizeRollBackups" value="100" />就可以了如:<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="AppendToFile" value="true" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="MaximumFileSize" value="1MB" />
          <param name="RollingStyle" value="Size" />
          <param name="StaticLogFileName" value="false"/>
          <file type="log4net.Util.PatternString" value="d:\Log\Applog_%date{yyyyMMdd}.txt" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
          </layout>
        </appender>