Asp.net Log4net没有记录任何东西

Asp.net Log4net没有记录任何东西,asp.net,logging,log4net,Asp.net,Logging,Log4net,我无法让log4net在我的ASP.NET项目上工作。我的web.config如下所示: <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net debug="true"> <appender name="console" ty

我无法让log4net在我的ASP.NET项目上工作。我的web.config如下所示:

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 </configSections>
<log4net debug="true">
<appender name="console" type="log4net.Appender.ConsoleAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %level %logger - %message%newline" />
  </layout>
</appender>
<appender name="file" type="log4net.Appender.RollingFileAppender">
  <file value="CardGame.log" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="5" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
  </layout>
</appender>
<root>
  <level value="ALL"/>
  <appender-ref ref="console" />
  <appender-ref ref="file" />
</root>
</log4net>
我还添加了一行

log4net.Config.XmlConfigurator.Configure();
在global.asax.cs中启动应用程序


但是,构造函数中的日志都不起作用,我也不知道为什么它不起作用。

您使用的是哪个版本?这是我的web.config中的设置

    <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="Log.txt" />
        <param name="AppendToFile" value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="30" />
        <maximumFileSize value="15MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%-5p %d %5rms [%thread] %-22.22c{1} %-18.18M - %m%n" />-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
        </layout>
    </appender>
    <root>
        <!-- Options are "ALL", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "OFF". -->
        <level value="ALL" />
        <appender-ref ref="RollingFileAppender" />
    </root>
</log4net>

确保运行应用程序的用户对目标文件夹具有写入权限


我总是通过添加
everyone
并重新启动池来测试这种情况。如果有效,您知道这是权限问题,否则请检查代码/配置

情况似乎是这样。我使用默认的“ApplicationPoolIdentity”运行应用程序池。将其切换到“我的windows用户”解决了此问题。您应该使用另一种方法,将该用户添加到文件夹中。我想这些用户的前缀是'NT'`
    <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="Log.txt" />
        <param name="AppendToFile" value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="30" />
        <maximumFileSize value="15MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%-5p %d %5rms [%thread] %-22.22c{1} %-18.18M - %m%n" />-->
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
        </layout>
    </appender>
    <root>
        <!-- Options are "ALL", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "OFF". -->
        <level value="ALL" />
        <appender-ref ref="RollingFileAppender" />
    </root>
</log4net>