gpt4 book ai didi

Java:将 Marshaller 输出重定向到 log4j

转载 作者:行者123 更新时间:2023-12-01 10:21:30 25 4
gpt4 key购买 nike

我想让我的程序使用以下方法记录给定对象的 XML:

Marshaller.marshal(Object jaxbElement, OutputStream os);

目前,我使用 stdout 作为 OutputStream。但 stdout 不会打印在 log4j 日志文件中。

JAXBContext jc = JAXBContext.newInstance(SomeClass.class);
Marshaller m = jc.createMarshaller();
m.marshal(input, System.out);

如何将此方法的输出重定向到 log4j 日志文件?

谢谢

最佳答案

参见ByteArrayOutputStream创建 OutputStream并使用 ByteArrayOutputStream#toString() 转换为 String .

您修改后的代码:

OutputStream os = new ByteArrayOutputStream();
JAXBContext jc = JAXBContext.newInstance(SomeClass.class);
Marshaller m = jc.createMarshaller();
m.marshal(input, os);
String xml = os.toString();
logger.debug(xml);

关于Java:将 Marshaller 输出重定向到 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35573621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com