ASP.NET的错误处理机制之二(实例log4net)
2015-06-17 11:25
495 查看
一、log4net下载:http://logging.apache.org/log4net/download_log4net.cgi
二、web.config配置如下:
当打开日志文件的时候会提示被另一个程序占用,解决办法:
在appender下加<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
三、LOG操作类:
五、页级别处理:
六、效果:
本文参考原文:http://fanrsh.cnblogs.com/archive/2006/06/08/420546.html
二、web.config配置如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogError\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </layout> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </layout> </appender> </log4net> <system.web> <compilation defaultLanguage="c#" debug="true" /> <customErrors mode="RemoteOnly" /> <authentication mode="Forms" /> <authorization> <allow users="*" /> </authorization> <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration>
当打开日志文件的时候会提示被另一个程序占用,解决办法:
在appender下加<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
三、LOG操作类:
<%@ Application Language="C#" %> <%@ Import Namespace="SystemLog" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 LogHelper.SetConfig(); } void Application_End(object sender, EventArgs e) { // 在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception objExp = HttpContext.Current.Server.GetLastError(); LogHelper.WriteLog("客户机IP:" + Request.UserHostAddress + "<br/>错误地址:" + Request.Url + "<br/>异常信息:" + Server.GetLastError().Message, objExp); } void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 InProc 时,才会引发 Session_End 事件。 // 如果会话模式设置为 StateServer // 或 SQLServer,则不会引发该事件。 } </script>
五、页级别处理:
try { string str = Request.QueryString["a"].ToString(); } catch (Exception ex) { LogHelper.WriteLog("ErrorInfo", ex); }
六、效果:
本文参考原文:http://fanrsh.cnblogs.com/archive/2006/06/08/420546.html
相关文章推荐
- ASP.NET的错误处理机制之一(概念)
- ASP.NET Web API教程(六) 安全与身份认证
- 一款非常不错的asp.net图片处理类,自己用的时候需要做相应的修改(水印、剪裁、缩略图)
- asp.net web api内部培训资料
- 控制ASP.NET Web API 调用频率
- [置顶] ASP.NET大型企业OA平台+所有文档说明
- [转载] ASP.NET MVC (一)——深入理解ASP.NET MVC
- ASP.NET中的三种Timer(计时器)的区别和用法
- [walkthrough] 在Asp.net MVC6 RC里使用NLog,并且把配置集成到config.json
- ASP.NET中使用Application对象实现简单在线人数统计功能
- ASP.NET中gridview获取当前行的索引值
- KindEditor编辑器在ASP.NET中的使用
- ASP.NET中使用Application对象实现简单在线人数统计功能
- 深入理解ASP.NET MVC Day1
- ASP.NET中绑定数据控件OnClientClick事件Eval函数解析错误的处理
- AspNetPager的使用
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
- ASP.NET中Web DataGrid的使用指南(转自前沿设计网-找到这个真不容易啊!)
- 未能加载文件或程序集“EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个
- 实例快速上手 -ASP.NET 4.5新特性WebAPI从入门到精通