web-dev-qa-db-ja.com

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");
26
user603007

はい、例外をスローせずにErrorSignalを使用できます。

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

カスタムメッセージの場合、カスタム例外を作成できます。

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

これを試して

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

これは古い質問ですが、例外を作成したくない場合は、次を使用することもできます。

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

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

この回答 に示すように。

3
madannes