2011-09-16 7 views
5

현재 분산 시스템에서 여러 로그 파일을 집계하는 데 문제가 있습니다.메시지 큐에 로깅하는 것이 좋습니다.

하지만 대부분의 응용 프로그램이 log4j를 사용하는 Java 응용 프로그램이므로 JMS를 사용하므로 개별 로그 파일을 복사하는 대신 메시지 대기열에 직접 로깅하는 것이 좋습니다.

이것은 좋은 생각입니까? 아니면 어떻게 든 역효과를 낼 수 있습니까?

+0

로그 파일 수량, 크기 및 빈도에 따라 다릅니다. 즉 : 로그가 서버를 죽이지 않는다고 확신하는 경우 로그 아웃하십시오. – c69

답변

2

느슨한 아이디어의 몇 :

  • 성능이 이미 (당신이 깊이 숨겨진 에러를 추적 할 필요가 밝혀지면) 생산 환경에서 불가능 증명할 수 있습니다 자세한 디버그 정보를 켜기 —을 언급,
  • log4j의 롤오버 동작을 잃어 버리면 로그 문을 수집하는 지점에서 직접 구현해야합니다.
  • 프로세스/시스템 특정 정보를 로그 행에 추가해야합니다 (어떤 응용 프로그램이 어떤 로그 행을 발행했는지 분명하지 않은 경우).
  • 로그 명령문이 발행 된 순서를 절대적으로 알아야하는 경우 모든 응용 프로그램에 로그 라인 증가 카운터를 추가하는 것을 고려하십시오. — 메시지 전달 순서가 보장되지 않고 log4j의 타임 스탬프는 밀리 초 단위로 증가합니다.
  • 효율적인 분석 이러한 부피가 큰 파일에는 좋은 (유료 또는 맞춤 작성된) 로그 뷰어가 필요할 수 있습니다.
1

그렇게하고 싶다면 두 가지 모두에 로그인하십시오. 그런 식으로 JMS 로깅 문제를 해결해야한다면 log4j 로그가 생깁니다. 로그 파일을 작게 유지하려면 log4j appender를 구성하십시오. 대부분 JMS 로그를 사용하기 때문입니다.

관련 문제