博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]Global exception handling in Web API 2.1 and NLog
阅读量:6375 次
发布时间:2019-06-23

本文共 1153 字,大约阅读时间需要 3 分钟。

本文转自:

 

In Web API 2.1 is new .

I found some example how to log exceptions into Elmah ( ).

But I use NLog to log errors into database table.

Is it posible to use Web API Global Error Handling with NLog?

Please provide some example.

 

 

It's actually quite simple, you either implement IExceptionLogger by hand or inherit from the base class, ExceptionLogger.

public class NLogExceptionLogger : ExceptionLogger{    private static readonly Logger Nlog = LogManager.GetCurrentClassLogger();    public override void Log(ExceptionLoggerContext context)    {        Nlog.LogException(LogLevel.Error, RequestToString(context.Request), context.Exception);    }    private static string RequestToString(HttpRequestMessage request)    {        var message = new StringBuilder();        if (request.Method != null)            message.Append(request.Method);        if (request.RequestUri != null)            message.Append(" ").Append(request.RequestUri);        return message.ToString();    }}

Also add it to the config:

var config = new HttpConfiguration(); config.Services.Add(typeof(IExceptionLogger), new NLogExceptionLogger());

You can find full sample solution .

 

转载地址:http://txjqa.baihongyu.com/

你可能感兴趣的文章
《Scikit-Learn与TensorFlow机器学习实用指南》 第3章 分类
查看>>
落地六合新区,苏美达战略先行促发展
查看>>
JSP的过滤器
查看>>
系统运行中的错误提示
查看>>
Nginx的TCP负载均衡介绍
查看>>
揭秘神key
查看>>
VMware Harbor现已加入Rancher社区Catalog
查看>>
Centos 6 VM on Hyper-v network lost (eth0 disapear)
查看>>
数据结构之线性表
查看>>
Linux 编辑器——上古神器vim
查看>>
win10系统装win7系统
查看>>
浅议磁盘分区——从MBR到GPT
查看>>
ArcGIS JavaScript API 3.11本地化安装
查看>>
为npm配置taobao源
查看>>
orm框架(SQLAlchemy) 连接数据库和创建表
查看>>
OSPF多区域虚电路配置
查看>>
zookeeper初探三 java客户端连接
查看>>
管理邮件用户
查看>>
Python中的运算符、数据类型、字符串及列表操作举例
查看>>
Tab页界面之二,jQuery技术实现
查看>>