【发布时间】:2010-08-06 07:18:34
【问题描述】:
Windows 服务中的日志不会写入 exe 的路径,因为 Windows 服务是在另一个目录中启动的。将日志写入 AppDomain.CurrentDomain.BaseDirectory 的最佳方式是什么?
这是我的附加程序:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--<file value="Logs/Log4Net/"/>-->
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<datePattern value="yyyy-MM-dd-HH.lo\g"/>
<maximumFileSize value="1MB"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline"/>
</layout>
</appender>
我找到了一种在代码中动态设置它的方法,但没有办法在 xml 配置中正确设置它...
【问题讨论】:
-
为什么要将日志文件写入安装文件夹?通常这些文件夹比某些应用程序数据文件夹更受限制(出于某种原因)。
-
你会在哪里写日志文件?只是 C:\Logs\...?
-
顺便说一句,您是对的,该文件夹受到限制,以至于 log4net 甚至无法写入该文件夹。谢谢。