我需要记录一些 xml 数据(目前是一个 JDOM 文档),我正试图将它输出到一个标准的 Java 日志。但是,这只会生成标签的 < 和 > 端重新编码为 <? ?>
等
虽然这可以解析为正确的信息,但它使日志文件实际上不可读。任何人都可以为此提供更好的解决方案吗?我已经阅读了很多关于此的帖子,但似乎没有人给出答案 - 但是,如果我错过了答案,请引导我到正确的帖子!
Current Code: 一个简化的案例来演示什么是不工作的,删除了文档到 XML 的传输(这可以使用 XMLOutputter().outputString(document) 成功完成)
)。
try {
Logger logger = Logger.getLogger("companyname");
FileHandler fh = new FileHandler("log.log");
fh.setEncoding("UTF-8");
logger.addHandler(fh);
logger.setLevel(Level.ALL);
String message = "<tag>Some Text</tag>";
Logger.getLogger("companyname").log(Level.CONFIG, message);
}
catch (IOException e) {
e.printStackTrace();
}
最佳答案
这听起来像是在做正确的事情 - 但您应该使用工具来查看日志条目,而不是尝试直接读取日志文件。任何读取日志文件并期望内容为普通文本内容(并且可能会忽略意外标签)的任何内容都将正确处理转义文本,但如果文本未被转义则会中断。
换一种方式思考问题:假设您记录了一个字符串,而该字符串恰好只包含一个“<” - 您真的希望日志文件成为无效的 XML 文档吗?
关于java - 在 xml 日志文件中记录 xml 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3229989/