webapi log4net webapi中使用log4net

webapi中使用log4net――简介

下面介绍如何在webapi中安装,配置log4net

webapi中使用log4net――工具/原料
vs2010webapi中使用log4net――方法/步骤

webapi中使用log4net 1、

从nuget下载log4net


webapi中使用log4net 2、

在webconfig中加入关于log4net的配置,其中可以有很复杂的配置,这里只做最基本的。

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"></section>

<log4net>

<appender name="FileAppender" type="log4net.Appender.FileAppender">

<param name="File" value="mylogfile.txt"/>

<param name="AppendToFile" value="true"/>

webapi log4net webapi中使用log4net

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d - %m%n"/>

</layout>

</appender>

<root>

<level value="ALL"/>

<appender-ref ref="FileAppender"/>

</root>

</log4net>

配置的具体位置如图所示


webapi中使用log4net 3、

在WebApiConfig.cs 中加上(也可以在global中加)

log4net.Config.XmlConfigurator.Configure();


webapi中使用log4net 4、

新增一个简单的loghelper类,加入一个测试方法

private static readonly log4net.ILog logger = log4net.LogManager.GetLogger("LogHelper");

public static void WriteLog(string msg)

{

logger.Info(msg);

}

webapi中使用log4net_log4net


webapi中使用log4net 5、

然后把write方法加载需要写log的方法中即可

LogHelper.WriteLog("hello can you hear me~");


webapi中使用log4net 6、

然后在浏览器上运行api/values,就可以看到项目中多了一个mylogfile.txt文件

webapi中使用log4net_log4net


webapi中使用log4net 7、

如果不想每个方法中都写一遍write,或者当需要追踪每一次api请求。那就需要把log4net写在Filter中

首先实现如果要记录每一个api请求,这个可以重写在OnActionExecuting中

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

public override void OnActionExecuting(HttpActionContext filterContext)

{

var message = new StringBuilder();

message.Append(string.Format("Executing controller {0}, action {1}",

filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,

filterContext.ActionDescriptor.ActionName));

log.Info(message);

}


webapi中使用log4net 8、

对每个请求的error做处理,这个需要重写OnActionExecuted

public override void OnActionExecuted(HttpActionExecutedContext filterContext)

{

if (filterContext.Exception == null)

{

return;

}

else {

Exception ex = filterContext.Exception;

log.Error(ex);

}

}

全部代码如下图


webapi中使用log4net 9、

然后api中加入filter,再加一个throw error的测试用例

浏览器中请求api/values/12,mylogfile.txt中就会有相应的记录和error信息

webapi中使用log4net_log4net

webapi中使用log4net――注意事项
实际项目中还需要全面的考虑,这里只是针对log4net的demo

  

爱华网本文地址 » http://www.413yy.cn/a/8104290103/232049.html

更多阅读

在Win7系统中使用Readyboost加速 win7系统加速器

在Win7系统中使用Readyboost加速——简介ReadyBoost是Vista系统开始加入的重要新功能之一,而在win7系统中这项功能得到了进一步的增强,并且实用性更佳。ReadyBoost利用了闪存随机读写及零碎文件读写上的优势来提高系统性能,主要是为了

怎样在股市操作中使用好缺口理论 股市缺口是什么意思

缺口分普通缺口、突破缺口、持续性缺口与消耗性缺口四种。缺口是研判形态时最有力的辅助依据。从缺口发生的部位和大小,可以预测股价走势的强弱及确定是突破还是已到趋势的尽头。怎样在股市操作中使用好缺口理论——工具/原料怎样

凭证中使用红字和负数是根本性的错误 红字发票与负数发票

2011年初,我们写过一篇“关于会计中的红字和负数”,最后有一个结论:在凭证中使用红字和负数是完全错误的。2012年初我们发布了财务系统后,仍然经常有人在讨论这个问题,很多朋友说很难对本公司的会计解释这些,因为在凭证中使用红字和负数是

如何在EXCEL中使用rank函数排序 excelrank函数排名

如何在EXCEL中使用rank函数排序——简介EXCEL中有一个很神奇的函数“RANK”,他能够将数字的排名单独显示在另一列,而且可以去除重名次。所显示的结果是有多少人就显示多少名。下面小编就来与大家分享一下,希望对大家有点帮助。如何在E

声明:《webapi log4net webapi中使用log4net》为网友一抹温柔分享!如侵犯到您的合法权益请联系我们删除