我使用ErrorLog.GetDefault
在Elmah中记录我的错误,因为我想使用ErrorId。但是,当我这样做时,服务器变量不包含在日志条目中。任何人都可以解释为什么,如果可能的话,如何解决这个问题?
public void LogExceptionToElmah(Exception exception)
{
//Includes Server Variables
ErrorSignal.FromContext(HttpContext.Current).Raise(exception);
//Does not include Server Variables
var elmahId = Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Error(exception));
}
答案 0 :(得分:4)
我能够通过将HttpContext.Current
包含在Elmah错误中来解决这个问题。
var elmahId = ErrorLog.GetDefault(HttpContext.Current).Log(new Error(exception, HttpContext.Current));
我仍然想知道为什么ErrorLog.GetDefault
需要HttpContext
,因为它似乎对它没有任何作用。