我刚为我的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");
答案 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所示。