繁体   English   中英

如何将BufferedReader写入slf4j记录器

[英]How to write a BufferedReader into slf4j logger

我有一个BufferReader,需要将其转储到slf4j记录器中。

BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));

我想将stdError转储到slf4j记录器中。 有没有可以用来实现此目的的库?

Loggers不是java.io I / O流,也没有设计用来装饰它们。
Loggers旨在在某些附加Loggers中写入特定记录。 因此,如果您需要记录process.getErrorStream()返回的信息, Logger.error(readLine)干净的方法是将process.getErrorStream()每个读取行委托给Logger.error(readLine)

真的很容易写:

Process p = ...;
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String readLine = null;
while ((readLine = reader.readLine())!=null){
    logger.error(readLine);
}

逐步记录(逐行记录)很重要,因为如果仅在最后使用单个大日志条目执行该任务,并且JVM在到达“大”日志条目处理之前崩溃了,则您将不会记录任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM