27

我刚刚为我的 ASP.NET 应用程序安装了 Elmah ( https://code.google.com/p/elmah/ )。是否可以在不先创建异常的情况下记录消息?

catch(Exception e)
{
    Exception ex = new Exception("ID = 1", e);
    ErrorSignal.FromCurrentContext().Raise(ex);
}

那么是否可以这样做:

ErrorSignal.FromCurrentContext().log("Hello I am testing Elmah");
4

3 回答 3

40

是的,您可以使用 ErrorSignal 而不会引发异常。

ErrorSignal.FromCurrentContext().Raise(new NotSupportedException());

对于自定义消息,您可以创建自定义异常。

var customEx = new Exception("Hello I am testing Elmah", new NotSupportedException()); 
ErrorSignal.FromCurrentContext().Raise(customEx);
于 2013-08-08T00:16:56.167 回答
11

尝试这个

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Your message"));
于 2014-07-04T05:46:36.733 回答
4

我知道这是一个老问题,但如果您不想创建异常,您也可以使用

var error = new Error
{
   Source = eventType.ToString(),
   Type = $"Trace-{eventType}",
   Message = message,
   Time = DateTime.UtcNow
};

ErrorLog.GetDefault(HttpContext.Current).Log(error);

this answer所示。

于 2017-06-16T18:24:26.380 回答