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 / 5 /configSections 7 log4net 8 !-- 将日志输出到控制台 -- 9 appender 10 layout 11 conversionPattern / 12 /layout 13 /appender 15 root 16 !-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -- 17 !-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 -- 18 !-- 如果没有定义LEVEL的值,则缺省为DEBUG -- 19 level / 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; 7 namespace Log4netConsoleApplication 9 class Program11 private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);12 static void Main(string[] args)14 log.Debug("debug");15 log.Info("info");16 log.Warn("warn");17 log.Error("error");18 log.Fatal("fatal");20 Console.ReadKey();23 }
上述五个步骤完成,运行该控制台应用程序,即可看到在控制台窗口中输出了日志信息,如下图所示:
至此,如何将日志信息输出到控制台就完成了。