本文共 2118 字,大约阅读时间需要 7 分钟。
log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access,Oracle9i,Oracle8i,DB2,SQLite)中。
log4net主页:
log4net配置:
1、下载log4net.dll,在项目中添加该引用。
2、在项目AssemblyInfo.cs中添加:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
3、对App.config文件进行配置,如果没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加。
下面是个人比较喜欢的两种配置,一种以日期的形式记录,每天的日志都写入到一个文件中,按日期可以方便查看日志。
另一种是以文件大小来记录,如果超过了大小就重新生成一个文件,最多为maxSizeRollBackups个,超过maxSizeRollBackups个则会轮训覆盖。
level定义记录的日志级别,定义记录哪个级别以上的日志,级别由高往低依次是:None > Fatal > ERROR > WARN > DEBUG > INFO >ALL
log4net的配置官方主页:
4、log4net的使用:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using log4net;namespace ConfigTest{ public static class TestClass { private static readonly ILog log = LogManager.GetLogger(typeof(TestClass)); public static void TestLog() { for (int i = 0; i < 1000; ++i) { log.Info(string.Format("Log info {0}",i)); log.Debug(string.Format("Log debug {0}", i)); } } } class Program { static void Main(string[] args) { try { TestClass.TestLog(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }}
参考: