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

标签 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 放在参数名称上,但它看起来并没有被创建。 我的服务器上存在 C:\Users\leandro\Desktop\Caderneta.log 路径,但它仍然没有创建文件 Caderneta。

最佳答案

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

网络服务

IIS 应用程序池\默认应用程序池

关于c# - 当我在 iis 中发布我的项目时,log4net 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241885/

相关文章:

c# - ViewModel 每秒更新一次?

c# - 创建一个返回结果数组以显示在消息框中

spring - 如何在 application.yaml 中设置 logback.xml 属性

c# - 如何在 C# 中将字符串的内容复制到剪贴板?

c# - 可移植类库项目不与 NuGet 一起工作

Android dumpstate分析

java - 通过注释快速添加日志记录(例如用于 getter/setter 的 lombok) - 有可用的解决方案吗?

C# do..while 循环列表

c# - 如何在遵守某些约束的同时生成数字序列?

java - 使用 .net 和 java 中的 jUddi v3