実行時にlog4net APIを介してlog4netログファイルの名前パターンを取得するC#コードを作成しようとしています。log4netログファイルの名前パターンをプログラムで取得する方法は?
log4net.configに、次のアペンダが定義されている場合は、次のとおりです。
<appender name="MyAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%date{yyyy}\%date{MM}\%date{dd}\%property{Id}.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="16" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
私は%日{YYYY} \%日付{MM} \%日付{DD}を取得したいと思い\%property {Id} .logをコード内の文字列変数に変換します(解析なしでlog4net.configをプレーンXMLとして使用します)。
誰もがこのトリックを引き出すアイデアを持っていますか?
ありがとうございます。
。ファイルプロパティは、その時点ですでに評価されています。だから、 '%date {yyyy} \%date {MM} \%date {dd} ...'が '2012 \ 09 \ ...'には含まれなくなりました。 – Wolfgang
@Michael Wolfgangは絶対に正しいです:_File_プロパティが取得されると、元のパターン値を取得できませんでした。 – Lev
hrm。あなたはそうです、私はいつもこれを使って道を得ることができました。パターンはどこかで再計算されるので、このデータはどこかで利用可能でなければなりません。 –