Asp.net web api 如何使用Elmah.Contrib.WebApi 1.0.9?

Asp.net web api 如何使用Elmah.Contrib.WebApi 1.0.9?,asp.net-web-api,asp.net-web-api2,elmah,Asp.net Web Api,Asp.net Web Api2,Elmah,我正在从事WebAPI项目。我想实现全局错误处理,为此我选择ELMAH 在谷歌上,我发现我可以用ELMAH.Contrib.WebApi包在WEB API中实现ELMAH 因此,我安装了包Elmah.Contrib.WebApi,并按照中所述注册了它 因此,我的global.asax如下所示 protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register);

我正在从事WebAPI项目。我想实现全局错误处理,为此我选择ELMAH

在谷歌上,我发现我可以用ELMAH.Contrib.WebApi包在WEB API中实现ELMAH

因此,我安装了包Elmah.Contrib.WebApi,并按照中所述注册了它

因此,我的global.asax如下所示

 protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
        GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
        GlobalConfiguration.Configuration.MessageHandlers.Add(new MessageLoggingHandler());

    }
但它似乎不起作用。我还试图找到关于如何在项目中实现这个包的文档,但找不到它


有人能帮我找到工作吗

如果您使用的是Web API 2,则应使用新的异常记录器:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        ...
        config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger());
        ...
    }
}
这篇文章也显示了:


(如果您正在使用另一个日志存储,则不使用elmah.io软件包)

我安装了elmah.io软件包,但仍然有相同的效果,但在elmah实现后仍引发了相同的效果和错误。它本应记录下来,而不是通过日志记录。您不需要安装elmah.io软件包。只有当您想使用elmah.io作为日志存储时,才需要这样做。是否添加了以下行:config.Services.add(typeof(IEExceptionLogger),new-ElmahExceptionLogger());顺便说一句,ELMAH不会捕捉错误,因为它不会显示给用户。它只侦听错误和日志(如果有)。