当我在iis log4net中发布我的项目时不起作用

时间:2013-06-21 18:21:03

标签: c# .net logging web

当我在Visual Studio上调试它时效果很好,但是当我尝试将它放在我的IIS目录上时它不会:

<?xml version="1.0"?>

   <configuration>
     <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
     </configSections>
     <log4net>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="C:\\Users\\leandro\\Desktop\\Caderneta.log"/>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <appendToFile value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="3" />
          <maximumFileSize value="1MB" />
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%n%n%d [%t] %-5p %c %n  %m%n"/>
          </layout>
        </appender>

    <root>
      <level value="Error" />
      <appender-ref ref="LogFileAppender" />
     </root>
   </log4net>
   <system.web>
     <compilation debug="true" targetFramework="4.0" />
  <webServices>
    <protocols>
      <add name="HttpPost"/>
       <add name="HttpGet"/>
    </protocols>
  </webServices>

</system.web>

</configuration>

首先,我尝试将Caderneta.log放在param名称上,但它看起来并没有被创建。 我的服务器上的路径存在C:\Users\leandro\Desktop\Caderneta.log,但它仍然没有创建文件Caderneta。

1 个答案:

答案 0 :(得分:10)

在Windows资源管理器中查找该文件夹,并为以下本地用户提供安全权限(如果存在):

NETWORKSERVICE

IIS AppPool \ DefaultAppPool