2009-11-04 4 views
2

trace에 log4j를 사용하고 있습니다.Log4J가 올바른 소스 정보를 제공하지 않음

[11/4/09 17 : 03 : 57 : 160 내가 얻을 것으로 예상 몇 가지 클래스를

<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d{dd-MM HH:mm:ss.SSS} | %X{sid} | [%t] | %F:%M:%L | %-5p | %m%n"/> 
</layout> 


에서 :

내 추적에 대한 다음과 같은 패턴을 사용하고 있습니다 IST] 00000012 SystemOut O 04-11 17 : 03 : 57.144 | | [server.startup : 0] | MainServlet.java:init:79 | DEBUG |

[11/4/09 17 : 03 : 57 : 인도 표준시 16시] 00000012 SystemOut O 04-11 17 : 03 : 테스트 디버그

내가 잘못 소스 코드의 위치를 ​​얻을 57.144을 | | [server.startup : 0] | ? : init :? | DEBUG | 디버그 테스트

다른 클래스에서는 올바른 소스 위치를 얻습니다.

내가 뭘 잘못하고 있니?

답변

1

아마도 일부 수업은 회선 정보없이 컴파일됩니까? javac에 "optimization"옵션 -O를 추가하면 행 번호가 제거됩니다.

0

로거를 문제 클래스로 초기화하거나 상속하고 있습니까? 예를 들어, 다음과 비슷한 행이 있습니까 :

protected final Log logger = LogFactory.getLog(getClass()); 
관련 문제