Log4net 清除会话变量
Log4net clearing session variable
我有一个 Web 应用程序,我正在尝试实施 log4net。工作是编写用户请求的页面名称。这是我的代码:
Global.asax.vb
Sub Application_AcquireRequestState(ByVal sender As Object, ByVal e As EventArgs)
' Fires upon attempting to authenticate the use
If InStr(Request.FilePath, ".aspx") > 0 Then
Logger.WriteDebug(Request.FilePath)
End If
End Sub
记录器class:
Imports log4net
Public NotInheritable Class Logger
Private Shared log As log4net.ILog
Public Shared Sub InitializeLogger()
log4net.Config.XmlConfigurator.Configure()
log = LogManager.GetLogger("Testlogger")
End Sub
Public Shared Sub WriteDebug(ByVal Message As String)
If (log Is Nothing) Then
InitializeLogger()
End If
log.Debug(Message)
End Sub
End Class
还有写入配置的log4net.config文件。日志在我的文件中写得很好,但问题是在以某种方式写了一个日志之后 Session 变量 cleared/wiped 出来了。所以,我必须再次登录我的应用程序,再次清除会话变量。
如果我注释掉
log.Debug(Message)
只有这一行一切正常。我已经调试了很长时间,除了重置我的 Session 变量的那一行之外没有任何错误。
根据我在其他应用程序中实现log4net的经验,我认为问题不在于log4net。任何想法可能是什么问题?
如果您的日志文件将转到 /bin 文件夹,对该文件夹的任何文件更改都应该回收应用程序 - 终止您的会话。
在服务器上选择其他文件夹应该可以解决问题。
我有一个 Web 应用程序,我正在尝试实施 log4net。工作是编写用户请求的页面名称。这是我的代码:
Global.asax.vb
Sub Application_AcquireRequestState(ByVal sender As Object, ByVal e As EventArgs)
' Fires upon attempting to authenticate the use
If InStr(Request.FilePath, ".aspx") > 0 Then
Logger.WriteDebug(Request.FilePath)
End If
End Sub
记录器class:
Imports log4net
Public NotInheritable Class Logger
Private Shared log As log4net.ILog
Public Shared Sub InitializeLogger()
log4net.Config.XmlConfigurator.Configure()
log = LogManager.GetLogger("Testlogger")
End Sub
Public Shared Sub WriteDebug(ByVal Message As String)
If (log Is Nothing) Then
InitializeLogger()
End If
log.Debug(Message)
End Sub
End Class
还有写入配置的log4net.config文件。日志在我的文件中写得很好,但问题是在以某种方式写了一个日志之后 Session 变量 cleared/wiped 出来了。所以,我必须再次登录我的应用程序,再次清除会话变量。
如果我注释掉
log.Debug(Message)
只有这一行一切正常。我已经调试了很长时间,除了重置我的 Session 变量的那一行之外没有任何错误。
根据我在其他应用程序中实现log4net的经验,我认为问题不在于log4net。任何想法可能是什么问题?
如果您的日志文件将转到 /bin 文件夹,对该文件夹的任何文件更改都应该回收应用程序 - 终止您的会话。
在服务器上选择其他文件夹应该可以解决问题。