我想在Elmah中禁用自动异常日志记录,同时启用手动日志记录,例如。
ErrorSignal.FromCurrentContext.Raise(ex)
我的情况与
this one
,唯一的区别是我使用的是XML日志记录,而不是SQL。我还为用于跟踪目的的异常生成了一个唯一的ID。
当我禁用
ErrorLog
模块在
Web.config
,但是,如中所建议的
the answer
,我也失去了手动记录异常的能力。此时没有任何记录。
这是来自的代码
Global.asax
:
Sub Application_Error(Sender As Object, e As EventArgs)
Dim sCode As String
sCode = Utils.NewId(IdModes.AlphaNumeric)
Try
Throw New LinkedException(sCode, Me.Server.GetLastError)
Catch ex As LinkedException
ErrorSignal.FromCurrentContext.Raise(ex)
Finally
Me.Server.ClearError()
End Try
Me.Context.Redirect($"~/oops/{sCode}")
End Sub
…这是
LinkedException
:
Imports System.Web
Public Class LinkedException
Inherits HttpException
Public Sub New(ExceptionCode As String, ex As HttpException)
MyBase.New(ex.ErrorCode, $"[{ExceptionCode}] {ex.Message}", ex)
End Sub
End Class
是否可以关闭自动日志记录,但保持手动打开?当我打开自动时,我会得到两个条目,当我关闭它时,我不会得到任何条目。