asp.net - log4net 不在 IIS 6.0 中写入

标签 asp.net logging asp-classic iis-6 log4net

我有以下 log4net 配置:

<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
  <layout type="log4net.Layout.PatternLayout">
    <!-- Pattern to output the caller's file name and line number -->
    <conversionPattern value="%date [%thread] %-5level %ndc - %message%newline" />
  </layout>
</appender>

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  <file value="C:/logs/mysystem.log" />
  <appendToFile value="true" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <maximumFileSize value="1024MB" />
  <maxSizeRollBackups value="30" />

  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level - %message%newline" />
  </layout>
</appender>

<root>
  <level value="DEBUG" />
  <appender-ref ref="Console" />
  <appender-ref ref="RollingFile" />
</root>

在本地计算机中它工作正常,但是当我将网站部署到远程服务器(IIS 6.0)时,尽管系统正在运行,但它不会创建日志文件。

AppPool 身份配置为“网络服务”。

有什么想法吗?

最佳答案

当应用程序池配置为“网络服务”时,它没有足够的权限写入文件系统,因此不会创建日志文件。

将应用程序池的身份配置为“本地系统”,就可以正常工作了!

关于asp.net - log4net 不在 IIS 6.0 中写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162309/

相关文章:

asp-classic - 经典的 asp 混淆

C# - TextBox TextChanged 事件未触发

ASP.NET GridView 默认排序顺序

asp.net - 禁用 asp 上的 future 日期 :calendar control

ASP.NET 登录控件布局模板失败文本

java - log4j + log4mongo - 配置不同级别的多个appender

python - 如何将Robotframework日志和任何关键字输出写在一行中?

python - 运行 __main__.py 时,获取当前模块

vbscript - Asp 经典格式数字不显示最后的零

javascript - onsubmit 事件可以在页面提交之前将图像插入页面吗?