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