log4net日志分割,按大小分割

本文介绍如何使用Log4Net进行日志记录配置,包括按日期和大小进行日志文件的滚动分割。提供了详细的配置文件示例,适用于.NET应用程序的日志管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写了一个socket通信的手表在线服务端,在日志方面,记录下Log4net日志分割

1.引入log4net.dll

2.web.config添加configsection handler 映射:

<configuration>
    <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
</configuration>

3.建立 log4net.config 文件,此文件在logs文件夹下面按日期生成

<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
  <!-- Set root logger level to ERROR and its appenders -->
  <root>
    <level value="ALL"/>
    <appender-ref ref="SysAppender"/>
  </root>

  <!-- Print only messages of level DEBUG or above in the packages -->
  <logger name="WebLogger">
    <level value="DEBUG"/>
  </logger>
  
  <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
    <param name="File" value="Logs/" />
    <param name="AppendToFile" value="true" />
    <param name="RollingStyle" value="Date" />
    <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
    <param name="StaticLogFileName" value="false" />
    <layout type="log4net.Layout.PatternLayout,log4net">
      <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
      <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
    </layout>
  </appender>
  <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
    <layout type="log4net.Layout.PatternLayout,log4net">
      <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    </layout>
  </appender>
</log4net>

 

4.按大小分割的映射文件

<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
  <!-- Set root logger level to ERROR and its appenders -->
  <root>
    <level value="ALL"/>
    <appender-ref ref="SysAppender"/>
  </root>

  <!-- Print only messages of level DEBUG or above in the packages -->
  <logger name="WebLogger">
    <level value="DEBUG"/>
  </logger>
  
  <appender name="SysAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Logs\Logs.txt"/>
    <param name="AppendToFile" value="true"/>
    <param name="MaxSizeRollBackups" value="12"/> <!-- 切割最多文件数 -->
    <param name="MaximumFileSize" value="500KB"/> <!-- 每个文件的大小 -->
    <param name="RollingStyle" value="Size"/>
    <param name="StaticLogFileName" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
    </layout>
  </appender>
</log4net>

我的注解:

配置文件是用反射和名称生成对应的类的声明, RollingFileAppender  SysAppender 对象,下面是这个类的各个参数。这个类一般是这样设计的

转载于:https://www.cnblogs.com/hualiu0/p/4620198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值