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# ではなく)、 に置き換えuserてみてくださいUserFolder

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

コードでは、UserFolder というプロパティを設定していますが、xml にはそのような参照が含まれていません。

于 2015-11-21T01:49:42.177 に答える