我在Word加载项中使用log4net来创建日志文件。该加载项将部署到多个用户,因此需要为每个用户更改App.config文件中找到的文件夹路径。 在加载项初始化中,我调用一个获取User Profile文件夹的函数,并将其设置为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" />
...
但是当我运行加载项时它没有写入日志。有人可以指点我正确的方向吗? 谢谢
答案 0 :(得分:0)
在您的xml(不在c#中)中,尝试将user
替换为UserFolder
。
<file type="log4net.Util.PatternString" value="%Property{UserFolder}\AppData\Local\Temp\logfile.txt" />
在您的代码中,您正在设置一个名为UserFolder的属性,但您的xml不包含此类引用。