这几天在重新整理Log4net的日志记录功能。
需求:想把每台机器上记录的Log4日志文件归总在一台局域网LogServer上。
对配置文件代码做出的调整:
<log4net>
<appender name="ErrorLogger" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString">
<conversionPattern value="\\192.168.1.110\log4net\Web\%date{yyyy}\%date{MM}\Logger_%date{yyyyMMdd}.log" />
</file>
<param name="AppendToFile" value="true" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c [%x] - %m%n" />
<!--%aspnet-request{UserHostAddress}-->
<param name="Header" value="[Header]
" />
<param name="Footer" value="[Footer]
" />
</layout>
</appender>
<root>
<!-- Setup the root category, add the appenders and set the default level -->
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<level value="ALL" />
<appender-ref ref="ErrorLogger" />
</root>
其中,局域网机器192.168.1.110的log4net目录做了共享,并给予了Everyone读写权限。
结果:日志文件没有被按期望写入到指定的共享目录中。
后续验证:写了一个控制台的exe Log测试写入程序,配置文件与上述一样,上传到服务器后手动执行,日志文件写入成功,所以在想是否是IIS关于局域网机器的权限问题,查阅了很多资料,没有找到这方面的信息,特来园子恳请各位大神解惑!