저는 수백 대의 Linux 컴퓨터에서 실행되는 Java 애플리케이션을 작성했습니다. 프로그램은 log4j 로거를 사용하여 로그 파일을 생성합니다. 더 나은 개발을 위해서는 이러한 시스템에서 로그 파일을 수집하고 몇 가지 분석을 수행해야 합니다. 컴퓨터에서 로그 정보를 가져와 한 곳에 저장하는 가장 좋은 방법은 무엇입니까? 일부 로그 파일은 하루가 끝날 때 압축된 것으로 나타날 수 있지만 다른 로그 정보는 매 시간 또는 더 자주 새로 고쳐지는 것을 보고 싶습니다.
로깅 문제를 어떻게 해결할 수 있나요?
답변1
로그 파일을 수집하는 대신 로그를 직접 가져오십시오. syslog 어펜더 또는 소켓 어펜더를 사용하십시오. 모든 로그는 필요한 분석을 캡처하고 수행할 수 있는 특정 단일 호스트로 전달됩니다.
답변2
AbstractLogger(log4j에서 제공)에서 파생하여 고유한 로깅 클래스를 작성할 수 있습니다. 이 클래스는 데이터베이스에 기록할 수 있습니다. 로그에 머신의 호스트 이름(물론 타임스탬프도 포함)을 포함하는 것이 유용할 것입니다.
또는 log4j의 데이터베이스 로깅 기능을 사용할 수 있습니다. http://www.tutorialspoint.com/log4j/log4j_logging_database.htm