ASP.NET MVC中Log4Net记录错误日志的使用
第一、在管理nuget程序包 =》下载 log4net
第二、在web.config配置log4net
1:在<configuration>节点下 <configsections>节点中 配置log4net节点引用。
<!--log4net日志记录-->
<section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/>
2:在<configsections>下后面 配置log4net 日志记录组件
<!--log4net 日志记录组建配置-->
<log4net>
<!--定义输出到文件中-->
<appender name="rollingfiletracer" type="log4net.appender.rollingfileappender">
<!--定义文件存放位置-->
<file value="app_data\\logerror\\"/>
<appendtofile value="true"/>
<rollingstyle value="date"/>
<datepattern value="yyyy\\yyyymm\\yyyymmdd'.txt'"/>
<staticlogfilename value="false"/>
<param name="maxsizerollbackups" value="100"/>
<layout type="log4net.layout.patternlayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2008-03-26 13:42:32,111 [10] info log4netdemo.mainclass [(null)] - info-->
<conversionpattern value="%n记录时间:%date %n线程id:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{ndc}] - %n错误描述:%message%newline %n"/>
</layout>
<filter type="log4net.filter.levelrangefilter">
<levelmin value="error" />
<levelmax value="fatal" />
</filter>
</appender>
<root>
<level value="all"/>
<!--文件形式记录日志-->
<appender-ref ref="rollinglogfileappender"/>
<appender-ref ref="rollingfiletracer"/>
</root>
</log4net>
第三:在properties=>assembyinfo.cs中添加以下代码,来读取配置文件
//为项目注册log4net.config配置文件
[assembly: log4net.config.xmlconfigurator(configfile = @"web.config", watch = true)]
第四:自定义一个exceptioncontrol类,继承 handleerrorattribute类 ,重写onexception方法
/// <summary>
/// 异常处理过滤器,使用log4net记录日志,并跳转至错误页面
/// </summary>
[attributeusage(attributetargets.method | attributetargets.class, inherited = true, allowmultiple = true)]
public class exceptioncontrol : handleerrorattribute
{
ilog log = logmanager.getlogger(typeof(exceptioncontrol));
public override void onexception(exceptioncontext filtercontext)
{
if (!filtercontext.exceptionhandled)
{
string message = string.format("消息类型:{0}\r\n消息内容:{1}\r\n引发异常的方法:{2}\r\n引发异常源:{3}"
, filtercontext.exception.gettype().name
, filtercontext.exception.message
, filtercontext.exception.targetsite
, filtercontext.exception.source + filtercontext.exception.stacktrace
);
//记录日志
log.error(message);
//转向
filtercontext.exceptionhandled = true;
filtercontext.result = new redirectresult("~/pageview/error/404.html");//跳转错误页,地址根据自己的改
}
base.onexception(filtercontext);
}
}
第五:在app_start文件夹下的filterconfig.cs修改代码。 global.asax文件就不用修改了
to:经过以上5步就实现了asp.net mvc中使用log4net记录错误日志
上一篇: 西红柿和香蕉去拍戏哪个会红?
下一篇: 每当奇异博士背后痒了
推荐阅读
-
C#中四步轻松使用log4net记录本地日志的方法
-
ASP.NET MVC4中使用Html.DropDownListFor的方法示例
-
(14)ASP.NET Core 中的日志记录
-
MVC使用Log4Net进行错误日志记录学习笔记4
-
asp.net mvc4中bootstrap datetimepicker控件的使用
-
ASP.NET mvc4中的过滤器的使用
-
灵活掌握Asp.net MVC中GridView的使用方法
-
ASP.NET Log4Net日志的配置及使用,文件写入
-
实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
-
ASP.NET MVC4中使用Html.DropDownListFor的方法示例