手动 Elmah 日志记录在 MVC 中无法正常工作

Manual Elmah Logging dosnt work properly in MVC

我使用 ELAMH 1.2 记录 MVC 5 中的错误。它适用于 404 500...HTTP 错误和控制器的捕获块。

public ActionResult Index()
    {
        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("test"));
        try
        {
            var a = 0;
            var b = 1 / a;
        }
        catch(Exception e)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(e);
        }
        return View();
    }

我得到了这段代码的两个日志。 但它确实在静态 class 中工作,如下所示。 运行 ErrorSignal.FromCurrentContext().Raise(e);.

时我没有得到任何异常
public static class FileUtility
{
    public static string SaveSampleFile(HttpPostedFileBase file)
    {
        try
        {

            var b = 0;
            var  a = 1/b;
        }
        catch (Exception e)
        {
            ErrorSignal.FromCurrentContext().Raise(e);
            return null;
        }
    }

}

没有错误日志 什么都没发生!

我在 class 库项目中调用没有任何 HttpContext 的 ELMAH 记录器时也看到了这个问题。

我使用旧的手动方法来解决这个问题:

Elmah.ErrorLog.GetDefault(null).Log(new Error(ex));