0

我在 Word 加载项中使用 log4net 来创建日志文件。加载项将部署给多个用户,因此在 App.config 文件中找到的文件夹路径需要为每个用户更改。在加载项初始化中,我调用了一个函数,该函数获取用户配置文件文件夹并将其设置为 app.config 文件的变量(我相信)。

public void GetCurrentUser()
        {
            string user = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            log4net.GlobalContext.Properties["UserFolder"] = user;
            log4net.Config.XmlConfigurator.Configure();
        }

我的 app.config xml 文件如下所示:

<log4net debug="true">
      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="%Property{user}\AppData\Local\Temp\logfile.txt" /> 
        <appendToFile value="true" />
        <rollingStyle value="Size" />
...

但是当我运行加载项时它没有写入日志。有人可以指出我正确的方向吗?谢谢

4

1 回答 1

0

在您的 xml(不在 c# 中)中,尝试userUserFolder.

<file type="log4net.Util.PatternString" value="%Property{UserFolder}\AppData\Local\Temp\logfile.txt" /> 

在您的代码中,您正在设置一个名为 UserFolder 的属性,但您的 xml 不包含此类引用。

于 2015-11-21T01:49:42.177 回答