2009-04-15 1 views
1

유효성 검사 포함 struts 동작이 내 로그에서 'junk'가 될 때마다 struts2 유효성 검사에 대한 로깅을 사용하지 않으려면 다음을 입력하십시오. "[Apr 15 14:42:41] ERROR CommonsLogger.java:24) - 도메인 유효성 검사 오류 : blahblah. ".struts2 유효성 검사를위한 로깅 사용 안 함

저는 이미 log4j를 사용하고 있으며 잘 로깅하고 있지만이 '정크'로 내 로그를 채우고 싶지는 않습니다.

일부 코드가 포함 된 경우 얻을 수 있지만 현재로서는 무엇을 제시해야할지 모르겠다.

이 '정크'로그는 struts2에 유효성 검사 메시지를 기록하고 있습니다 (예 : '이름을 입력하십시오'). 누군가 도움을 줄 수 있습니다. :)

답변

1

log4j에서 클래스 별 로깅 수준을 수정할 수 있으며 일반적으로 모든 클래스에는 자체 로거가 있습니다. 하지만 그것들은 계층 적이기 때문에 일반적으로 패키지의 로깅 수준을 설정하고 모든 멤버에 영향을 미칠 수 있습니다.

log4j.logger.com.opensymphony.xwork2.validator = FATAL 

이 꽤 넓은 브러시는 생각입니다 -이 당신 검증에 잠재적으로 심각한 문제에 대한 가시성을받지 않습니다 : 그래서 당신의 log4j.properties 파일에 다음을 추가합니다. 로깅 메시지를 내보내는 클래스를 찾아 내고 로깅을 수정해야 할 수 있습니다.

+0

이것은 해결책 인 것처럼 보이지만 정확하게 FATAL 로깅을 수행하는 것이 무엇인지 알 수 없습니다. – trivunm

+0

log4j ConversionPattern을 패키지 + 클래스를 포함하도록 변경하면 해당 클래스가 어디서 왔는지 정확하게 알 수 있습니다. 둘 다 넣는 방법을 찾으려면 PatternLayout에 대한 javadocs를 참조하십시오. (자세한 내용이므로 일단 해당 메시지를 내보내는 것을 파악하면 이전 패턴으로 되돌릴 수 있습니다.) –

0

@milostrivun

log4j.logger.com.opensymphony.xwork2.validator = FATAL

이 우선 순위 치명적인 메시지 로깅한다 지시에 해당하는 FATAL에 로거 레벨을 설정할 것이다 또는 more (FATAL보다 높은 레벨은 없지만).

그래서 com.opensymphony.xwork2.validator 패키지 내의 모든 클래스에서 가져온 TRACE, DEBUG, INFO, WARN, ERROR 레벨 메시지는 인쇄되지 않습니다.

의미가 있습니까?