Elmah错误记录,我可以只记录一条消息吗?

时间:2013-08-08 00:12:25

标签: asp.net elmah

我刚为我的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");

3 个答案:

答案 0 :(得分:38)

是的,您可以在不抛出异常的情况下使用ErrorSignal。

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

对于自定义消息,您可以创建自定义例外。

var customEx = new Exception("Hello I am testing Elmah", new NotSupportedException()); 
ErrorSignal.FromCurrentContext().Raise(customEx);

答案 1 :(得分:11)

试试这个

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Your message"));

答案 2 :(得分:3)

我知道这是一个老问题,但如果你不想创建例外,你也可以使用

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

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

this answer所示。