追加されたものを削除する方法はありLoggerますか?経由して言う:
LogManager.GetLogger("loggerName")
私の研究では、それは不可能であるように思われます。私が見つけた最も近いものは、Clear 階層メソッドを呼び出す機能です。これは確かに既存のロガーをクリアしますが、これが最も安全なことではないことは言うまでもなく、それらを選択的に削除したいと思います。
いくつかの背景として、タスクごとに1つのファイルをログに記録しています。この場合、アプリケーションの存続期間ごとに数千の同時タスクと数十万のタスクが発生する可能性があります。1つのアプローチは、Loggerタスクごとにを作成し、タスクが完了したらそれを削除することです。ただし、選択的に削除する機能がないLoggerと、リタイアしたインスタンスによってメモリが消費されます。
もちろん、機能する代替設計もあります。Appendersこの問題は、Filters必要に応じて特定のに追加/削除することで解決できますLogger。Loggersまた、とのプールをAppenders作成して、タスクごとに構成することもできます。
追加された特定のロガーを削除する方法がない場合、それは明らかにショーストッパーではありません。Logger私が見逃したかもしれないものを削除する方法があるかどうか私はただ興味がありますか?