如何从slf4j记录器获取OutputStream参考?

Kar*_*ter 5 logging slf4j

我在slf4j之后使用logback,想知道如何OutputStreamorg.slf4j.Logger实例中获取引用。用例是Shrinkwrap的Archive.writeTo(OutputStream, ...)方法。

我知道,可以通过创建ByteArrayOutputStream,传递引用并将其内容写入记录器来解决该引用的需求。我知道,通常可以将stdout和stderr重定向到记录器。话虽如此,我正在寻找这个问题的直接答案。如果没有,我建议向slf4j添加一种机制。

我正在使用slf4j API 1.7.5和logback 1.2.2。

Thi*_*ilo 1

假设这仍然是面向行的文本数据 (*),您可以提供一个OutputStream实现,将您写入其中的任何内容转发到Logger实例。您需要某种方法来确定各个消息的开始和结束位置。您甚至可以查看内容并分配日志级别等。

(*) 如果不是,则将其发送到日志框架似乎没有多大意义。