我需要记录一些xml数据(当前是JDOM Document),我正在尝试将其输出到标准Java日志。但是,这只会生成带&lt;的日志。和&gt;标签的末尾重新编码为<? ?>
等。
虽然可以解析这些信息以获取正确的信息,但它会使日志文件无法读取。任何人都可以为此提供更好的解决方案吗?我已经阅读了很多关于此的帖子,但似乎没有人提出答案 - 但是,如果我错过了答案,请指示我到正确的帖子!
当前代码:用于演示不起作用的简化案例,删除了将文档传输到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();
}
答案 0 :(得分:2)
听起来它正在做正确的事情 - 但您应该使用工具来查看日志条目,而不是尝试直接读取日志文件。任何读取日志文件并期望内容为普通文本内容(并且可能忽略意外标记)的内容都将使用转义文本正常运行,但如果文本未被转义则会中断。
以另一种方式思考问题:假设您记录了一个恰好只包含“&lt;”的字符串 - 你真的希望日志文件成为无效的XML文档吗?