如何从 slf4j 记录器获取 OutputStream 引用?
How to obtain an OutputStream reference from an slf4j logger?
我在 slf4j 后面使用 logback,想知道如何从 org.slf4j.Logger
实例获取 OutputStream
引用。用例是 Shrinkwrap 的 Archive.writeTo(OutputStream, ...)
方法。
我知道可以通过创建 ByteArrayOutputStream
、传递它并将其内容写入记录器来解决对此引用的需求。我知道 stdout and stderr can be redirected to a logger in general。话虽如此,我正在寻找问题的直接答案。如果有none,我建议给slf4j加一个机制
我正在使用 slf4j API 1.7.5 和 logback 1.2.2。
假设这仍然是面向行的文本数据 (*),您可以提供一个 OutputStream
实现,将您写入其中的任何内容转发给 Logger
实例。您需要一些方法来确定各个消息的开始和结束位置。您甚至可以查看内容并指定日志级别等。
(*) 如果不是,将它发送到日志框架似乎没有多大意义。
我在 slf4j 后面使用 logback,想知道如何从 org.slf4j.Logger
实例获取 OutputStream
引用。用例是 Shrinkwrap 的 Archive.writeTo(OutputStream, ...)
方法。
我知道可以通过创建 ByteArrayOutputStream
、传递它并将其内容写入记录器来解决对此引用的需求。我知道 stdout and stderr can be redirected to a logger in general。话虽如此,我正在寻找问题的直接答案。如果有none,我建议给slf4j加一个机制
我正在使用 slf4j API 1.7.5 和 logback 1.2.2。
假设这仍然是面向行的文本数据 (*),您可以提供一个 OutputStream
实现,将您写入其中的任何内容转发给 Logger
实例。您需要一些方法来确定各个消息的开始和结束位置。您甚至可以查看内容并指定日志级别等。
(*) 如果不是,将它发送到日志框架似乎没有多大意义。