.Net Core 下使用Log4Net

本文详细介绍了如何使用log4net进行日志记录配置,包括错误、信息、调试、警告和致命级别的日志文件设置,以及如何在代码中调用log4net进行日志记录。

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

首先使用Nuget 获取log4net 程序集。

添加配置文件 log4net.config 内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>

  <!--error-->
  <appender name="errorAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="ERROR" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <file value="Logs/err.log" />
    <encoding value="utf-8"/>
    <preserveLogFileNameExtension value="true" />
    <appendToFile value="true" />
     <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="10MB"/>
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] - %message%newline" />
    </layout>
  </appender>

  <!--info-->
  <appender name="infoAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="INFO" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <file value="Logs/info.log" />
    <encoding value="utf-8"/>
    <preserveLogFileNameExtension value="true" />
    <appendToFile value="true" />
     <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="10MB"/>
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] - %message%newline" />
    </layout>
  </appender>

  <!--debug-->
  <appender name="debugAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="DEBUG" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <file value="Logs/debug.log" />
    <encoding value="utf-8"/>
    <preserveLogFileNameExtension value="true" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="10MB"/>
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] - %message%newline" />
    </layout>
  </appender>

  <!--warn-->
  <appender name="warnAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="Warn" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <file value="Logs/warn.log" />
    <encoding value="utf-8"/>
    <preserveLogFileNameExtension value="true" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="10MB"/>
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] - %message%newline" />
    </layout>
  </appender>

  <!--fatal-->
  <appender name="fatalAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="Fatal" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <file value="Logs/fatal.log" />
    <encoding value="utf-8"/>
    <preserveLogFileNameExtension value="true" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="10"/>
    <maximumFileSize value="10MB"/>
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="ALL" />
    <appender-ref ref="errorAppender" />
    <appender-ref ref="infoAppender" />
    <appender-ref ref="debugAppender" />
    <appender-ref ref="warnAppender" />
    <appender-ref ref="fatalAppender" />
  </root>
</log4net>

使用方法:       

     static private log4net.ILog log = log4net.LogManager.GetLogger(typeof(所在类的类名));

     log.Error(ex.ToString());        //异常日志   具体根据配置文件中配置的类型

如果运行提示找不到log4net.config文件,请复制log4net.config 文件到bin文件夹下的 Debug 文件中和Release 文件中。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QFN-齐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值