我正在开发WEB API项目。我想实现全局错误处理,我选择了ELMAH。
在google搜索中,我发现我可以使用Elmah.Contrib.WebApi包在WEB API中实现ELMAH。
所以我安装了包Elmah.Contrib.WebApi并在author's github site中写了我注册了它。
所以我的global.asax看起来像是跟随。
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
GlobalConfiguration.Configuration.MessageHandlers.Add(new MessageLoggingHandler());
}
但它似乎不起作用。我还试图找到有关如何在项目中实现此包但无法找到它的文档。
有人可以帮助我,这样我可以得到那些有用的工作吗?
答案 0 :(得分:4)
如果您使用的是 Web API 2 ,则应使用新的异常记录器:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
...
config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger());
...
}
}
此帖还显示:
http://blog.elmah.io/logging-to-elmah-io-from-web-api/
(如果您使用的是其他日志存储,则不包含elmah.io包)