2010-06-22 3 views
5

일부 필터 기능을 사용해야하므로 log4j.properties를 log4j.xml로 변환하려고합니다. 내가 응용 프로그램을 시작할 때 내가 경고의 무리 받고 있어요, 난을 해결하는 방법을 정확히 모르겠어요 : 난 그냥뿐만 아니라 매우 간단한 log4j.xml 파일과 함께 노력하고log4j.xml 사용 중 log4j 경고 메시지

log4j:WARN Continuable parsing error 4 and column 69 
log4j:WARN Attribute "threshold" for element type "log4j:configuration" has a default value and must be specified in a standalone document. 
log4j:WARN Continuable parsing error 4 and column 69 
log4j:WARN Attribute "debug" for element type "log4j:configuration" has a default value and must be specified in a standalone document. 
log4j:WARN Continuable parsing error 4 and column 69 
log4j:WARN Attribute "reset" for element type "log4j:configuration" has a default value and must be specified in a standalone document. 
log4j:WARN Continuable parsing error 20 and column 23 
log4j:WARN The content of element type "log4j:configuration" must match "(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)". 
log4j:WARN Unrecognized element param 

:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="A1" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Threshold" value="INFO"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p | %d{MM-dd-yyyy HH:mm:ss.SSS} | %t | %c(%L) - %m%n"/> 
     </layout> 
    </appender> 
    <root> 
     <priority value="INFO"/> 
     <appender-ref ref="A1"/> 
    </root> 
</log4j:configuration> 

내가 여기에 놓친 것이 있습니까? 감사!

+0

상단에서 standalone = "yes"속성을 꺼내는 것이 문제를 해결하는 것처럼 보입니다. 내 질문에, 그 독립형 속성은 정확히 무엇을합니까? – fei

답변

2

대개 말하면 독립형 속성은 정보 집합이 문서 외부의 내용에 의해 영향을받지 않는다고 선언합니다. 그러나이 속성은 속성이 외부 DTD에 지정된 기본값을 가지기 때문에 사실이 아 U니다.

2

xml 선언에서 standalone = "yes"속성을 제거하면 문제가 해결됩니다. Standalone = "yes"는 약간의 미묘한 일을합니다 (here's the official spec). 이 경우 선언은 log4j에서 사용하는 유효성 검사 xml 파서가 dtd를 참조하는 XML 문서를 구문 분석하는 방법에 영향을줍니다.

선언에서 해당 속성을 제거하는 것이 정확하고 log4j 구성에 의미있는 영향을주지 않습니다.