ロギングにlog4netを使用している内部アプリがあります。でログを生成したいのですが%LOCALAPPDATA%\Vendor\App\application.log
。残念ながら、log4netは%APPDATA%
代わりにログファイルを作成しています。ここでプロファイルされたローミングは実際には使用しないため、これは大きな問題ではありませんが、回避できる場合は、コードに小さな特異性を残すのは好きではありません。
log4netをプログラムで構成せず、pinvokeを使用してXPのパスを取得せずに、指定した場所にファイルを書き込む方法について何か考えはありますか?
それが助けになるなら、これが私の設定ファイルのアペンダーセクションです:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="${LOCALAPPDATA}\Vendor\App\application.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger%newline%message%newline" />
</layout>
</appender>