前言
用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。
在项目中配置
第一步:首先在项目中引用log4net.dll文件。
第二步:在Web.config文件中进行添加configSections的节点
复制代码 代码如下:
第三步:添加log4net配置节点
复制代码 代码如下:
然后在log4net节点下添加
写入本地文本文件中的配置
复制代码 代码如下:
注释很清楚,就不解释了。
写入指定邮箱的配置
复制代码 代码如下:
通过的是163邮箱服务器发送
将日志写入数据库的相关配置,还要建立一张对应的数据库表
复制代码 代码如下:
另外一种写入文件的方式配置
复制代码 代码如下:
在log4net节点中还有两个节点
复制代码 代码如下:
在框架的体系里,所有的日志对象都是根日志(root logger)的后代。 因此如果一个日志对象没有在配置文件里显式定义,则框架使用根日志中定义的属性。在
那么上面就会有数据库日志的写入和邮箱的写入
在Global.asax文件初始化配置
复制代码 代码如下:
protected void Application_Start()
{
//读取日志 如果使用log4net,应用程序一开始的时候,都要进行初始化配置
log4net.Config.XmlConfigurator.Configure();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
调用
复制代码 代码如下:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Loggering");
public ActionResult about()
{
log.Info("log日志信息");
log.Debug("debug信息");
log.Error("error信息");
log.Warn("warn信息");
Exception ex = new Exception("测试的异常信息");
log.Fatal("fatal信息", ex);
return View();
}
运行一下
Log4net中 DEBUG、INFO、WARN、ERROR 区分得很好。正常的 DEBUG、INFO 的日志, 就让它记录在 日志文件里面吧。
对于 WARN、ERROR 级别的日志, 记录到日志文件的同时, 顺便发送电子邮件到我的信箱里面。 这样一来, 我也不必每天去看日志文件, 二来,出了什么问题, 能及时通过电子邮件得到通知。
数据库结构
复制代码 代码如下:
create database Log4Net
go
use Log4Net
create table _log
(
id int identity(1,1) primary key not null,
date datetime null,
thread int null,
level varchar(10) null,
logger varchar(20) null,
Message varchar(100) null,
Exception varchar(100) null
)
还待优化,有空了再来琢磨琢磨。



