Log4net清除会话变量

时间:2015-06-28 05:03:29

标签: vb.net session log4net

我有一个网络应用程序,我正在尝试实现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。任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:3)

如果您的日志文件转到/ bin文件夹,则对该文件夹的任何文件更改都应该回收该应用程序 - 终止您的会话。

在服务器上选择其他文件夹可以解决问题。