基本完成了!需要注意的一个参数
数据库生成脚本
CREATE TABLE [dbo].[ErrorLog](
[nId] [bigint] IDENTITY(1,1) NOT NULL,
[dtDate] [datetime] NOT NULL,
[sThread] [varchar](100) NOT NULL,
[sLevel] [varchar](200) NOT NULL,
[sLogger] [varchar](500) NOT NULL,
[sMessage] [varchar](3000) NOT NULL,
[sException] [varchar](4000) NULL)
[nId] [bigint] IDENTITY(1,1) NOT NULL,
[dtDate] [datetime] NOT NULL,
[sThread] [varchar](100) NOT NULL,
[sLevel] [varchar](200) NOT NULL,
[sLogger] [varchar](500) NOT NULL,
[sMessage] [varchar](3000) NOT NULL,
[sException] [varchar](4000) NULL)
第四步:在需要记录的每个类中添加如下代码
private static log4net.ILog myLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
给出一个例子
private void TestLog()
{
try
{
//
}
catch (Exception ex)
{
Loghandle by Tony 2008.11.21#region Loghandle by Tony 2008.11.21
string loginid = EmptyString;
//if (user != null) { loginid = user.LoginID; }
myLogger.Error(GetErrorMessage(loginid, 1), ex);
//Debug("系统已记录错误,请联系管理员!"); return;
//Debug(ErrorHandle.GetErrorInfoByID(999), this.ClientID);
return;
#endregion
}
}
{
try
{
//
}
catch (Exception ex)
{
Loghandle by Tony 2008.11.21#region Loghandle by Tony 2008.11.21
string loginid = EmptyString;
//if (user != null) { loginid = user.LoginID; }
myLogger.Error(GetErrorMessage(loginid, 1), ex);
//Debug("系统已记录错误,请联系管理员!"); return;
//Debug(ErrorHandle.GetErrorInfoByID(999), this.ClientID);
return;
#endregion
}
}
<bufferSize value="10" />,,表示是记录10 条到缓冲区,满10条后再写入SQL server
调试时可以改为1,实际应用建议为100