我有以下 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/