一、准备工作
- log4net源码一份,或者生成的log4net.dll文件一份
- 数据库中新建一张表,就叫LogCenter吧。
- 配置文件一份。
- 记录日志的方法一份。
二、开工-- log4net.dll
log4net官方网站:
编译好的 log4net.dll 文件,!
将log4net.dll添加引用到项目中。
三、建表
--数据库创建表
CREATETABLE[dbo].[LogCenter](
[Id][int] primary key IDENTITY (1, 1)NOT NULL,
[Date][datetime]NOTNULL,
[Thread][varchar](255)NOT NULL,
[Level][varchar](50)NOT NULL,
[Logger][varchar](255)NOT NULL,
[Message][varchar](4000)NOT NULL,
[Exception][varchar](2000)NULL
)
四、添加配置文件
五、记录日志的实现代码
Implementation:
using System;
namespace Log4netTet { /// <summary> /// 日志操作类 /// </summary> public class LogWrite { private LogWrite() { // 构造函数设置配置文件 SetConfig(); } // 创建一个log4net对象 // private static readonly log4net.ILog logInfo = log4net.LogManager.GetLogger("loginfo"); private static bool IsLoadConfig = false; // 设置配置文件 // private static void SetConfig() { log4net.Config.XmlConfigurator.Configure(); } /// <summary> /// 记录异常信息 /// </summary> /// <param name="info">错误提示信息</param> public static void WriteLog(string info) { if (!IsLoadConfig) { SetConfig(); IsLoadConfig = true; } if (logInfo.IsInfoEnabled) { logInfo.Info(info); } } public static void WriteLog(string info, Exception ex) { if (!IsLoadConfig) { SetConfig(); IsLoadConfig = true; } if (logInfo.IsErrorEnabled) { logInfo.Error(info, ex); } } } }六、测试代码
因为实现代码LogWrite类中是静态方法,所以调用的时候不用实例化,简单调用即可。
protected void btnLog4net_Click(object sender, EventArgs e) { //普通日志消息
Log4netTest.LogWrite.WriteLog(“测试消息");
//异常信息
Log4netTest.LogWrite.WriteLog(“报异常了", new Exception(“这是异常信息啊"));
}
七、最终效果