ユーザーがlogging.xmlで指定したログファイルの名前を知る必要があると思われる状況で立ち往生しています。具体的には、以下に示すように、要素value
内の属性の値を取得しようとしています( log4netドキュメントから取得)file
詳細については、SDKリファレンスエントリlog4net.Appender.FileAppenderを参照してください。
次の例は、ファイルにメッセージを書き込むようにFileAppenderを構成する方法を示しています。指定されたファイルはlog-file.txtです。ファイルは、ロギングプロセスが開始されるたびに上書きされるのではなく、に追加されます。
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
次のコードでアペンダーをループすると:
log4net.Repository.ILoggerRepository repo = LogManager.GetRepository();
foreach (log4net.Appender.IAppender appender in repo.GetAppenders())
{
FileAppender fa = appender as FileAppender;
}
fa
オブジェクト内のどこにも値「log-file.txt」が見つかりません。デバッガーには多くのメンバーとデータが公開されているため、おそらく私はそれを見逃しました。
誰かがこの値を取得する方法を提案できますか?