有没有办法配置 Log4Net 将日志写入 Windows 服务中的 BaseDirectory?
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 配置中正确设置它......
Logs in a Windows Service are not written to the path of the exe because the windows service is started in another directory. What's the best way to write the logs to the AppDomain.CurrentDomain.BaseDirectory?
This is my appender:
<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>
I have found a way to set it dynamically in code, but no way to set it right in the xml configuration...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只有提升的帐户才能在安装目录中写入。
您必须登录应用程序数据文件夹。检查这个:
如何为 log4net 指定通用应用程序数据文件夹?< /a>
Only elevated accounts can write in the installation directory.
You have to log in applictation data folder instead. Check this:
How to specify common application data folder for log4net?