我有一个网络应用程序,我正在尝试实现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
记录器类:
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文件。日志在我的文件中写得很好,但问题是在编写单个日志之后,会话变量被清除/清除。所以,我必须再次登录我的应用程序,会话变量再次被清除。
如果我发表评论
log.Debug(消息)
只有这一行一切都运作完美。我已经调试了很长时间,除了重置我的Session变量之外,没有任何错误发生。
由于我有在其他应用程序中实现log4net的经验,我认为问题不在于log4net。任何想法可能是什么问题?
答案 0 :(得分:3)
如果您的日志文件转到/ bin文件夹,则对该文件夹的任何文件更改都应该回收该应用程序 - 终止您的会话。
在服务器上选择其他文件夹可以解决问题。