如何从slf4j记录器获取OutputStream引用?

时间:2017-10-13 04:34:59

标签: logging slf4j

我在slf4j后面使用logback,想知道如何从<!DOCTYPE html> <html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> <style> textarea.ng-invalid { border: 3px solid #cc4b37 !important; } </style> <body> <div ng-app="" ng-init="firstName='John'"> <input style="display: inline;" id="checkbox1" type="checkbox" ng-model="checked"> <textarea name="" id="" cols="5" rows="3" ng-model="comments" ng-disabled="request.disableTransfer" ng-pattern="/^[0-9A-Za-z]*$/" ng-required="checked"></textarea> </div> </body> </html>实例获取OutputStream引用。用例是Shrinkwrap的org.slf4j.Logger方法。

我知道可以通过创建Archive.writeTo(OutputStream, ...)来解决对此引用的需求,传递它并将其内容写入记录器。我知道stdout and stderr can be redirected to a logger in general。话虽这么说,我正在寻找这个问题的直接答案。如果没有,我建议为slf4j添加一种机制。

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

1 个答案:

答案 0 :(得分:0)

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

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