エラーが発生するまでログステートメントを内部的に保持する新しいロガーを作成するというアイデアを検討しています。
したがって、私が取り組んでいるシステムでは、これはシーケンス プロセスです (並行作業ではなく、開始点と終了点が設定されています)。info() 行をメモリにバッファリングし、最後にエラーが発生した場合はそれらをフラッシュするか、成功した場合はそれらをログに記録しないようにしたいと思います。
メモリの使用についてはあまり心配していません。一度に 15 行しかありません (複数のクラスにまたがって)。ただし、1 秒間に数百のアイテムを処理できるため (それぞれが 15 行を作成)、ログは必要のないデータで冗長になる可能性があります。
もう 1 つのオプションは、1 つのメイン ファイルにログを記録することです。エラーが発生した場合は、最後のバッファを ERROR ログにフラッシュします。
自分で作成する前に、これを行う SLF4J-LogWriter または LOG4J-Appender を知っている人はいますか?
http://sling.apache.org (org.apache.sling.scripting.core.impl.LogWriter) が既に同様のことを行っていることがわかりますが、おそらくコードをハックする必要があるでしょう。
ありがとうジェフ・ポーター