【问题标题】:Asp.net MVC log4net with lockingModel makes session lost带有lockingModel的Asp.net MVC log4net使会话丢失
【发布时间】:2017-01-06 03:17:02
【问题描述】:

我得到了一个 MVC 网站并使用 log4net 来记录日志。

在Web应用程序中,我将用户信息存储在会话中,在执行一个操作后添加日志一些信息。然后我回到主页时会话丢失(只需输入主页的url)。

我确信会话丢失与“Response.Redirect()”或其他内容无关,因为我测试了应用程序并发现它会在我评论值为“log4net.Appender”的lockingModel属性后恢复.FileAppender+MinimalLock" 在 log4net 配置文件中。

下面是配置:

<?xml version="1.0"?>
<log4net debug="true">
    <appender name="AllInfoRollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="bin\\Log\\AllInfo-UniqueBlog-" />
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <appendToFile value="true" />
        <staticLogFileName value="false" />
        <rollingStyle value="Composite" />
        <datePattern value="yyyy-MM-dd.LOG" />
        <maximumFileSize value="1M" />
        <maxSizeRollBackups value="4" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger: %message%newline%exception" />
        </layout>
    </appender>
    <root>
        <level value="ALL" />
        <appender-ref ref="AllInfoRollingAppender" />
    </root>
</log4net>

所以我认为log4net配置中的“lockingModel”属性会导致这个错误,但我不知道原因,它不会在那里抛出任何错误,有人遇到这个吗?我发现这是不可思议的,因为这不应该导致这个问题。

【问题讨论】:

    标签: asp.net-mvc log4net


    【解决方案1】:

    您的问题完全不可读。不过我有东西你可以检查。如果您的会话丢失,您是在 Session.Redirec() 之前还是之后登录。如果您在会话重定向后登录,则您的代码永远不会被命中。重定向结束您当前的线程。接下来你可以启用 log4net 调试:

    <configuration>
       <appSettings>
          <add key="log4net.Internal.Debug" value="true"/>
       </appSettings>
    ...
    <system.diagnostics>
        <trace autoflush="true">
            <listeners>
                <add 
                    name="textWriterTraceListener" 
                    type="System.Diagnostics.TextWriterTraceListener" 
                    initializeData="C:\tmp\log4net.txt" />
            </listeners>
        </trace>
    </system.diagnostics>
      ...
    </configuration>
    

    如果在 log4net 中发生了不好的事情,你会在日志中看到它。

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2017-09-20
      • 1970-01-01
      • 2020-08-31
      相关资源
      最近更新 更多