2010-07-12 46 views
2

我需要記錄一些xml數據(這是當前的JDOM文檔),並且我試圖將它輸出到標準的Java日誌。但是,這隻會生成<的日誌,並且>標記的末尾會重新編碼爲&lt;? ?&gt;等。在xml日誌文件中記錄xml數據

儘管可以解析正確的信息,但會使日誌文件無法讀取。任何人都可以爲此提供更好的解決方案嗎?我已閱讀了一些關於此的帖子,但沒有人似乎提出了一個答案 - 但是,如果我錯過了答案,請將我指向正確的帖子!

當前代碼:這是一個簡化的例子,用於演示什麼不起作用,去除了文檔向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(); 
} 

回答

2

這聽起來像它這樣做完全正確的事情 - 但你應該使用一個工具來查看日誌條目,而不是試圖直接讀取日誌文件。任何讀取日誌文件並希望內容成爲普通文本內容(並且可能會忽略意外標記)的內容都將與轉義文本正確對應,但如果文本未被轉義則會中斷。

以另一種方式思考問題:假設您記錄了恰好包含「<」的字符串 - 您是否真的希望日誌文件成爲無效的XML文檔?

+0

感謝您幫助澄清這一點,喬恩! – 2010-07-13 08:11:47