我对记录很新。我在事件日志中得到了这个乱码。 无法找到源(xyAMP)中事件ID(0)的描述。本地计算机可能没有必要的注册表信息或消息DLL文件来显示来自远程计算机的消息。您可以使用/ AUXSOURCE =标志来检索此描述;请参阅帮助和支持以获取详细信以下信息是事件的一部分:SOURCE:System.Web
如何在诊断错误时更有帮助。 这是我的日志代码。
Sub Application_Error(ByVal sender As Object,ByVal e As EventArgs) Dim ctx As HttpContext = HttpContext.Current
Dim ex As Exception = ctx.Server.GetLastError()
Dim data As String = String.Empty
Dim referer As String = IIf(ctx.Request.ServerVariables("HTTP_REFERER") IsNot Nothing, ctx.Request.ServerVariables("HTTP_REFERER").ToString(), String.Empty)
Dim sForm As String = IIf(ctx.Request.Form IsNot Nothing, ctx.Request.Form.ToString(), String.Empty)
Dim sQuery As String = IIf(ctx.Request.QueryString IsNot Nothing, ctx.Request.QueryString.ToString(), String.Empty)
data = "SOURCE: " + ex.Source + vbCrLf
data += "MESSAGE: " + ex.Message + vbCrLf
data += "FORM: " + sForm + vbCrLf
data += "QUERYSTRING: " + sQuery + vbCrLf
data += "TARGETSITE: " + ex.TargetSite.ToString() + vbCrLf
data += "STACKTRACE: " + ex.StackTrace + vbCrLf
data += "REFERRER: " + referer
Dim eventLogName As String = "xyAMPLog"
Dim sourceName As String = "xyAMP"
Dim xyAMPLog As New EventLog()
xyAMPLog.Log = eventLogName
xyAMPLog.Source = sourceName
Try
xyAMPLog.WriteEntry(data, EventLogEntryType.Error)
Catch exc As Exception
Console.WriteLine(exc.Message)
End Try
'ctx.Server.ClearError()
End Sub
有什么建议来清理它吗?
谢谢, 〜在圣地亚哥
答案 0 :(得分:0)
您需要使用ex.ToString()
来获取完整的异常以及所有内部异常实例。一般而言,这将告诉您异常要求您了解的所有内容。
您可以做的唯一其他事情是编写代码以显示具有此类详细信息的每个异常的详细信息。例如,WebException
类具有Response
属性,可以为您提供有关响应的所有信息,以及Status
属性,可以让您了解Response
将是有用的。 SqlException
包含大量详细信息,包括查询生成的所有错误的列表。您可以编写将这些详细信息转换为文本的特殊代码。
而且,顺便说一下,当你使用这么多时,你应该使用StringBuilder
类进行字符串连接。效率更高。
答案 1 :(得分:-1)
我认为你需要使用Message Compiler (MC.exe)。