【问题标题】:Is there a way to configure Log4Net to write the logs to the BaseDirectory in a Windows Service?有没有办法配置 Log4Net 将日志写入 Windows 服务中的 BaseDirectory?
【发布时间】: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 甚至无法写入该文件夹。谢谢。

标签: windows-services log4net


【解决方案1】:

只有提升的帐户才能写入安装目录。

您必须改为登录应用程序数据文件夹。检查这个:

How to specify common application data folder for log4net?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多