• Log4net入门(控制台篇)


      Log4net是Apache公司的log4j™的.NET版本,用于帮助.NET开发人员将日志信息输出到各种不同的输出源(Appender),常见的输出源包括控制台、日志文件和数据库等。本篇主要讨论如何在控制台应用程序中将日志文件输出到控制台、日志文件和SQL Server数据库中。

      使用log4net非常简单,只需要五个步骤即可完成,下面我们以控制台应用程序为例,说明如何使用log4net将日志输出到控制台中。

      我们首先演示最简单的例子,将日志信息输出到控制台,步骤如下:

    1、我们首先创建一个控制台应用程序,取名为Log4netConsoleApplication,然后使用NuGet包管理器安装log4net,最新稳定版本为2.0.5,安装完毕后在项目的引用节点下会看到log4net程序集,说明安装成功。

    2、在Log4netConsoleApplication应用程序中展开Properties节点,双击AssemblyInfo.cs文件,在该文件最后添加如下代码:

     1 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)] 

    3、添加应用程序配置文件,并将其命名为Log4net.config(注意该文件名称与上一步骤中的ConfigFile的值一致),然后查看该文件的属性,将属性“复制到输出目录”的值设置为“始终复制”。

    4、编辑Log4net.config文件,文件内如如下所示:

     1 <?xml version="1.0" encoding="utf-8" ?>
     2 <configuration>
     3   <configSections>
     4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     5   </configSections>
     6 
     7   <log4net>
     8     <!-- 将日志输出到控制台 -->
     9     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    10       <layout type="log4net.Layout.PatternLayout">
    11         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    12       </layout>
    13     </appender>
    14     
    15     <root>
    16       <!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
    17       <!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 -->
    18       <!-- 如果没有定义LEVEL的值,则缺省为DEBUG -->
    19       <level value="ALL" />
    20       <!-- 将日志输出到控制台 -->
    21       <appender-ref ref="ConsoleAppender" />
    22     </root>
    23   </log4net>
    24 </configuration>

    5、双击打开项目中的Program.cs文件,保证文件中的代码如下所示:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Log4netConsoleApplication
     8 {
     9     class Program
    10     {
    11         private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    12         static void Main(string[] args)
    13         {
    14             log.Debug("debug");
    15             log.Info("info");
    16             log.Warn("warn");
    17             log.Error("error");
    18             log.Fatal("fatal");
    19 
    20             Console.ReadKey();
    21         }
    22     }
    23 }

      上述五个步骤完成,运行该控制台应用程序,即可看到在控制台窗口中输出了日志信息,如下图所示:

      至此,如何将日志信息输出到控制台就完成了。

  • 相关阅读:
    C/C++一些库函数的实现
    约瑟夫环问题(Josephus)
    union关键字及大小端模式
    指针数组和数组指针
    巧用位运算
    C/C++生成可执行文件过程
    C语言+Modbus+NXP整体规划
    bug和待完善
    python学习第二课
    python学习第一课
  • 原文地址:https://www.cnblogs.com/yonghuacui/p/6165262.html
Copyright © 2020-2023  润新知