Log4Net日志框架之介绍

Log4Net简介

Log4net是一个开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt文件、内存缓冲区、邮件、控制台、ANSI终端、远程接收端等等。
Log4net将日志分为五个级别,分别是: FATAL(致命错误) > ERROR(一般错误) > WARN(警告) > INFO(一般信息) > DEBUG(调试信息),每个级别都对应着一组重载方法进行调用。
官网地址:http://logging.apache.org/log4net/index.html
Nuget地址:https://www.nuget.org/packages/log4net/
Nuget安装:Install-Package log4net

快速上手教程

1、通过Nuget安装Log4net程序包

Install-Package log4net

2、需要引入配置文件

在App.config中设置配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 
  <!-- 1. 添加log4net的节点声明配置代码-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  
  <log4net>
    <!-- Define some output appenders -->
    <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
      <file value="log\log.txt" />

      <!--追加日志内容-->
      <appendToFile value="true" />

      <!--防止多线程时不能写Log,官方说线程非安全-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

      <!--可以为:Once|Size|Date|Composite-->
      <!--Composite为Size和Date的组合-->
      <rollingStyle value="Composite" />

      <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
      <datePattern value="yyyyMMdd&quot;.txt&quot;" />
      <StaticLogFileName value="false"/>

      <!--日志最大个数,都是最新的-->
      <!--rollingStyle节点为Size时,只能有value个日志-->
      <!--rollingStyle节点为Composite时,每天有value个日志-->
      <maxSizeRollBackups value="20" />

      <!--可用的单位:KB|MB|GB-->
      <maximumFileSize value="3MB" />

      <!--置为true,当前最新日志文件名永远为file节中的名字-->
      <staticLogFileName value="true" />

      <!--输出级别在INFO和ERROR之间的日志-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="FATAL" />
      </filter>

      <layout type="log4net.Layout.PatternLayout">
        <!--日志输出格式:时间  日志类型  日志内容-->
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>

    <!-- levels: OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL -->
    <root>
      <priority value="ALL"/>
      <level value="ALL"/>
      <appender-ref ref="rollingAppender" />
    </root>
  </log4net>

  <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>
3、通过代码读取配置文件
4、通过LogManger获取ILog 接口
5、写不同等级的日志

步骤3、4和5的代码示例如下。

    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                XmlConfigurator.Configure();// 默认去读取Appconfig 
                ILog ilog = LogManager.GetLogger(typeof(Program));
                ilog.Fatal("This is Fatal Message");
                ilog.Error("This is Error Message", new Exception("Test"));
                ilog.Info("This is Info Message");
                ilog.Warn("This is Warn Message");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                throw ex;
            }         
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值