log4net 在相对路径中设置日志文件

log4net set log file at a relative path

在我的 vb.net 项目中,我使用 log4net 并使用日志文件的绝对路径。但最后我需要在 C:\Users\UserName\AppData\Local\Temp\Log 文件夹中写入日志文件(用户名是一个变量)。找不到如何在 log4net 文件中设置它的方法。

我的 log4net 文件目前是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <appender name="ExampleAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\Log\App.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="_yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level - 
            [%logger] %message%newline" />
      </layout>
    </appender>
    <logger name="App">
      <level value="ALL" />
      <appender-ref ref="ExampleAppender" />
    </logger>
  </log4net>
</configuration>

有没有办法做到这一点?谢谢。

您可以像这样使用环境变量:

 <file type="log4net.Util.PatternString" value="${LOCALAPPDATA}\Temp\Log\App.log" />

这会在 C:\Users\stuartd\AppData\Local\Temp\Log\App.log

创建一个日志文件(对我来说)