私はC#でlog4netを使って私のアプリをログしています。%property {PropertyName}を動的に設定することはできますか?
私はこのようにそれを行うことができます知っている:
GlobalContext.Properties["PropertyName"] = "NewValue";
XmlConfigurator.Configure();
そして、それは動作します。 しかし、新しい値を設定するためにConfigureを再度呼び出さなければならないので、動的ではありません。 ILog.Infoを呼び出す前にプロパティ値を設定する方法はありますか?そのような
何か:
//here I set a new value for %property{PropertyName}
log.Info("Value to log");
//here I set a another one for %property{PropertyName}
log.Info("Value to log 2");
ありがとうございましたが、私は既にその方法で達成しています。私はもっと柔軟なものが必要です。 –
@ ramires.cabral - 多分あなたに必要なものを教えてください。 – Joe
私はILog.Infoを呼び出すたびにプロパティを変更できるようにします。私は、アプリケーション内のいくつかのイベントに基づいてファイルに新しい名前を付けたいと思います。 ThreadContext.Propertiesを使用すると可能ですが、Configureを呼び出さなくてもいいです。そして、複数のタスクでそれを実行すると、正しく動作しません。 Log4netの経験はありません。おそらくこれは間違ったアプローチです。 –