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

use*_*007 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);
}
Run Code Online (Sandbox Code Playgroud)

那么有可能做到:

ErrorSignal.FromCurrentContext().log("Hello I am testing Elmah");
Run Code Online (Sandbox Code Playgroud)

Chr*_*uer 38

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

ErrorSignal.FromCurrentContext().Raise(new NotSupportedException());
Run Code Online (Sandbox Code Playgroud)

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

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


Yas*_*ser 11

试试这个

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Your message"));
Run Code Online (Sandbox Code Playgroud)


mad*_*nes 5

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

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

ErrorLog.GetDefault(HttpContext.Current).Log(error);
Run Code Online (Sandbox Code Playgroud)

如这个答案所示。