Log4Net保存错误日志到SQLServer的步骤与配置
发布时间:2020-12-12 13:53:40 所属栏目:MsSql教程 来源:网络整理
导读:一、新建数据表:MyLog Create Table MyLog( Id int Identity(1,1) Not Null, --编号 Date datetime Not Null, --日期 Thread varchar(255) Not Null, --线程 Level varchar(50) Not Null, --等级 Logger varchar(255) Not Null, --错误者 Message varchar(40
一、新建数据表:MyLog Create Table MyLog( Id int Identity(1,1) Not Null, --编号 Date datetime Not Null, --日期 Thread varchar(255) Not Null, --线程 Level varchar(50) Not Null, --等级 Logger varchar(255) Not Null, --错误者 Message varchar(4000) Not Null, --错误信息 Exception varchar(2000) Null --错误详细信息 ) ON [Primary] [assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)] 三、在web.config中增加如下配置 <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net debug="false"> <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > <param name="File" value="c:LogDBLog.txt" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender"> <bufferSize value="10"/> <connectionType value="System.Data.SqlClient.SqlConnection,System.Data,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/> <connectionString value="server=192.168.1.100;database=ZYC;user id=sa;password=password"/> <commandText value="INSERT INTO MyLog ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date,@thread,@log_level,@logger,@message,@exception)"/> <parameter> <parameterName value="@log_date"/> <dbType value="DateTime"/> <layout type="log4net.Layout.RawTimeStampLayout"/> </parameter> <parameter> <parameterName value="@thread"/> <dbType value="String"/> <size value="255"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread"/> </layout> </parameter> <parameter> <parameterName value="@log_level"/> <dbType value="String"/> <size value="50"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level"/> </layout> </parameter> <parameter> <parameterName value="@logger"/> <dbType value="String"/> <size value="255"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger"/> </layout> </parameter> <parameter> <parameterName value="@message"/> <dbType value="String"/> <size value="4000"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message"/> </layout> </parameter> <parameter> <parameterName value="@exception"/> <dbType value="String"/> <size value="2000"/> <layout type="log4net.Layout.ExceptionLayout"/> </parameter> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ADONetAppender" /> </root> </log4net> protected void Application_Error(object sender,EventArgs e) { Exception ex = HttpContext.Current.Server.GetLastError(); ILog logger = LogManager.GetLogger(typeof(Global)); logger.Info(ex); }当然也可以在项目中try catch,然后捕获并写入。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |