关于Log4Net的使用及配置方式

0.简介

  • Log4Net库是Apache log4j框架在 .NET平台下的实现,其开源免费。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。
  • 官网地址:http://logging.apache.org/log4net/index.html
  • Log4Net开源地址:https://github.com/apache/logging-log4net/


 


 

1.安装程序包

  • NuGet:Install-Package log4net -Version 2.0.8
  • 我发现网上一些关于Log4Net的配置的文章中的配置在我的项目中无法运行,所以以下关于Log4Net的使用是在基于 .net 4.6.1的 ASP .NET MVC项目中,开发工具VS2015。


 


 

2.配置文件示例

在项目(此处为Web项目)的配置文件Web.config中添加配置信息

2.1注意事项:

  • "<configSections>"节点必须配置在<configuration>之后的第一个位置,

    否则报错,提示:“只允许一个 <configSections> 元素。它必须是根 <configuration> 元素第一个子元素”

  • 可以有多个" <appender name="XXXX"> </appender>",只要在"<root></root>"中添加相应的“<appender-ref ref="XXXX">”
    即可以设置多个日志输出的形式,下面我们是把日志以txt文件的形式保存在App_Data/Log文件夹中的

  • 在ASP .NET MVC项目中使用Log4Net,首先要在Global.asax.cs中初始化Log4Net,即添加log4net.Config.XmlConfigurator.Configure();

2.2示例

  <!-- ................为Log4Net添加的配置.....开始................-->

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

  <log4net>
    <root>
      <level value="DEBUG" /><!--定义此记录器的日志记录级别。此记录器仅接受此级别(此处即DEBUG级别)或更高级别的事件-->
      <appender-ref ref="RollingFileTracer" />
    </root>
    <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net">
      <param name="File" value="App_Data/Log/" /><!--日志文件的保存位置为:App_Data/Log/Log.txt-->
      <param name="AppendToFile" value="false" /><!--日志文件为后续内容附加到已有文件(若是false,则为后续覆盖向前的内存)-->
      <param name="RollingStyle" value="Composite" /><!--根据文件的大小和日期滚动文件-->
      <param name="MaxSizeRollBackups" value="10" /><!--备份文件的个数-->
      <param name="MaximumFileSize" value="1MB" /><!--如果我们将最大文件大小设置为1MB并将maxSizeRollBackups设置为10 MB,那么根据日期或文件大小,它将只保留最后10MB的文件-->
      <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" /><!--日志文件名为Logs_20200114.txt的类似格式-->
      <param name="StaticLogFileName" value="false" /><!--日志文件名,是否固定不变-->
      
      <layout type="log4net.Layout.PatternLayout,log4net"> <!--日志记录的格式-->
        <!--<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />格式为:时间+[线程]+级别+项目.Controller -messsage+exception.innerMessage-->
        <param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />
        <!--格式类似:记录时间:2020-01-15 20:34:37,946 线程ID:[6] 日志级别:DEBUG 出错类:_008Log4Net.Controllers.HomeController property:[(null)] - 错误描述:Hi I am log4net Debug Level-->
      </layout>
    </appender>
  </log4net>
  <!-- ................为Log4Net添加的配置.....结束................-->

2.3配置细节说明

  • <level value="DEBUG" />

    写入日记的级别:DEBUG以上级别(包含该级别)

  • <param name="File" value="App_Data/Log/" />

    日志的保存位置:App_Data/Log/, 因为App_Data文件夹下的文件无法被用户下载,不希望访问者下载的文件放到这里(如果是控制台项目是生成到 bin\Debug 下)</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值