2010-07-12 7 views
2

일부 XML 데이터 (현재 JDOM 문서)를 로깅해야하며이를 표준 Java 로그로 출력하려고합니다. 그러나 <으로 로그를 생성하고 태그의 끝은 &lt;? ?&gt; 등으로 다시 인코딩됩니다.xml 로그 파일에 xml 데이터 로깅

이 정보는 올바른 정보로 분석 될 수 있지만 로그 파일을 효과적으로 읽을 수 없게 만듭니다. 아무도 이것에 대한 더 나은 솔루션을 도울 수 있습니까? 나는 이것에 대한 많은 글을 읽었지 만, 아무도 대답을 찾지 못한 것 같다. - 그러나 나는 대답을 놓친 경우, 나를 오른쪽 게시물로 안내해주십시오!

현재 코드 :, 작업 (성공적으로 XMLOutputter().outputString(document)를 사용하여 수행 할 수 있습니다) XML로 문서의 전송이 제거되지 않습니다 것을 보여주기 위해 단순화 된 경우. 정확히 옳은 일을하고있는 것처럼


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

Jon을 정리해 주셔서 감사합니다. –