开源框架 - 日志记录Log4Net(一)

Log4Net简介

百度百科

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。
log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。
如何使用Log4Net

首先创建一个控制台应用程序。

1、在NuGet中引用Log4Net

2、修改App.config(如果不存在App.config文件,就手动添加一个)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--log4net配置-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <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="errorMsg">
      <level value="DEBUG"/>
    </logger>
    <!--可以将日志输出到不同的地方,不同的输出目标对应不同的Appender-->
    <!--RollingFileAppender(滚动文件)、AdoNetAppender(数据库)、SmtpAppender (邮件)等-->
    <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
      <!--日志文件的输出路径-->
      <param name="File" value="Log/" />
      <!--追加的方式添加到日志文件中-->
      <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>
  <!--log4net配置 结束-->
</configuration>

3、修改Program代码

using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Log4NetDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 非常关键,写在程序入口处,完成Log4Net的配置
            log4net.Config.XmlConfigurator.Configure();
            // 获取log4net配置信息
            ILog logger = LogManager.GetLogger("errorMsg");
            // 向日志文件中追加一句话
            logger.Error("Log4Net系统测试");
            Console.ReadKey();
        }
    }
}

4、测试结果

启动调试,可以在Debug路径下看到如下信息

我们也可以通过修改App.config文件,实现往数据库中写日志和发送邮件等操作。 

扫描二维码关注公众号,回复: 11169730 查看本文章

  作者:Jeremy.Wu
  出处:https://www.cnblogs.com/jeremywucnblog/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

猜你喜欢

转载自www.cnblogs.com/jeremywucnblog/p/12819014.html