[使用log4j记录流数据

问题描述 投票:0回答:2

我正在从http连接获取流数据。我想使用log4j记录流以记录文件。

我需要此流进一步执行其他一些操作(必须保留)

我该怎么做?

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/xml");
InputStream xml = connection.getInputStream();

我尝试过这个:

StreamUtils.copy(xml, new LogOutputStreamUtil(log, Level.INFO));

http://www.java2s.com/Open-Source/Java/Testing/jacareto/jacareto/toolkit/log4j/LogOutputStream.java.htm中的LogOutputStreamUtil,>

但是一旦它被记录下来。流即将关闭:(

我正在从http连接获取流数据。我想使用log4j记录流以记录文件。我需要进一步使此流执行其他一些操作(必须保留)如何执行此操作? ...

java logging stream log4j
2个回答
2
投票

简单的解决方案是编写自己的inputStream包装器


0
投票

这是一个非常老的问题,但是,如今,执行此操作的另一种选择是使用log4J IOStreams类。这些允许您呈现一个Streaming接口,但是将结果保存到您选择的日志文件中。

© www.soinside.com 2019 - 2024. All rights reserved.