私はslf4jの後ろにログバックを使用しており、org.slf4j.Logger
インスタンスからOutputStream
リファレンスを取得する方法を知りたいと考えています。ユースケースは、ShrinkwrapのArchive.writeTo(OutputStream, ...)
メソッドです。slf4jロガーからOutputStreamリファレンスを取得するにはどうすればよいですか?
この参照の必要性を回避するには、ByteArrayOutputStream
を作成し、それを渡してコンテンツをロガーに書き込むことができます。そして私はそれがstdout and stderr can be redirected to a logger in generalであることを認識しています。それは言われている、私は質問への直接の答えを探しています。何もない場合は、slf4jにメカニズムを追加することをお勧めします。
私はslf4j API 1.7.5とlogback 1.2.2を使用しています。
大量のバイナリデータを受け取り、ログレベルやメッセージの境界を明確にするAPIを追加することは意味がないと思います。メッセージをログに記録するアプリケーションとしては、意味のある個々のログメッセージ(レベル、「通常サイズのメッセージ」、またはいくつかのマップされたコンテキスト属性)を生成するのはあなた次第です。 OutputStreamはバイナリデータのダムシンクに過ぎません。 – Thilo
OutputStreamリファレンスを 'Logger。[level]'の引数としてhttps://jira.qos.ch/browse/LBCLASSIC-118 –
で提案しましたが、これはあなたが提案したように動作する必要があります:ロガーからのOutputStream OutputStreamをロガーに渡すと、それが書き込むことができるすべてのことができます。 OutputStreamから読み込む方法はありません。 – Thilo