2012-02-25 9 views
6

Logback/SLF4Jを使用して「きれいに印刷された」XMLを記録します。 現在、ログに記録されているものは完全に判読できないため、解析するために何かを開く必要があります。 XMLを人間が読める形式で出力するために、デバッグ用のログを構成できるようにしたい(私はXMLをデバッグ時にのみ見たいので)。Logback/SLF4Jに複数行のテキストを記録する方法は?

それは可能ですか?

答えて

9

単にログ文で改行\nを追加します。

log.info("Message id: {}\nContents: {}", id, xml); 

UPDATE:How to pretty print XML from Java?:ためには、かなり-印刷XMLが見を持っているが。 XMLが実際に印刷されない場合、高価な書式設定を実行する必要はありません。したがって、これはまれなケースの1つです。

if(log.isInfoEnabled()) 
    log.info("Message: {}", prettyFormat(xml)); 
+0

これは単純に2行を作成します。 idを持つものとxmlを持つもの。それは本当にかわいいプリントではない;-) – Krystian

+0

@クリスチャン:申し訳ありませんが、私はあなたを誤解しました。私の更新された答えを見てください。 –

+0

Uhh ..私は致命的な間違いをした。私はそれに対応して、かなり印刷されたXMLが得られることを知っていましたが、回答を得るために使用した読者はすべての改行文字を削除していたようです。それは実際に問題を記録していませんでした。ロガーに元の応答を渡すようにコードを変更すると、すべて正常に動作するようになりました。私はあなたの答えを正しいものとしてマークしました。なぜなら生のXMLを取得した人にとってはうまくいくからです。ありがとう。 – Krystian

関連する問題