2012-09-13 1 views
1

시작하는 데 약간의 도움이 필요합니다. GlassFish 3.1 (또는 그 이상)에서 배포하려는 새로운 JSF-2 웹 응용 프로그램이 있습니다. 일반적으로 서버는 모든 로그 파일을 개인 디렉토리 중 하나에 텍스트로 저장합니다. 여기에는 ether와 함께하는 로깅도 포함됩니다. System.println (..) 또는 java.util.logging.Logger.getLogger (. ..)GlassFish 로그 파일을 SQL/JPA 데이터베이스에 캡처하십시오.

내가 원하는 것은 텍스트 파일로 이동하는 항목을 로깅하고 캡처하여 내 SQL 데이터베이스에 저장하는 것입니다. 그런 다음 관리 콘솔로 이동하지 않고 애플리케이션의 관리 웹 페이지의 일부로 쉽게 검색 할 수 있도록 타임 스탬프 및 키 값에 대한 테이블 열을 추가 할 수 있습니다. 또한 해당 데이터 중 일부를 사용자에게 노출 할 수도 있습니다.

어떻게 할 수 있습니까?

추가 질문 : Tomcat 또는 다른 컨테이너로 이식 할 수있는 방식으로 수행 할 수 있습니까?

답변

1

사용자 정의 로그 처리기를 작성해야합니다. 당신은 약간 logging.properties 파일을 변경해야합니다,

package test.stackoverflow; 
import java.util.logging.Handler; 
.. 
public class AlanHandler extends Handler { 
.. 
     @Override 
     public void publish(LogRecord record) { 
       //CODE THAT STORES LOG RECORD INTO THE DATABASE 
     } 
} 

또한 : : 사용자 정의 로그 핸들러는 java.util.logging.Handler 확장하는 클래스입니다

handlers=java.util.logging.ConsoleHandler, test.stackoverflow.AlanHandler 
(도서관 등) 글래스 피시에 AlanHandler의

배포 JAR, 서버가 다시 시작 그리고 그것을해야합니다.

+0

정말 간단합니다. 나는 그것을 시도하고 다시보고 할 것이다. – AlanObject

+0

간단합니다. Glassfish (2.1)의 이전 버전에서는 특정 로그 이벤트 (예 : 심각)를 잡을 수있는 '관리 규칙'이 있습니다. 사용자 정의 MBeans와 함께, 그것은 멋지고 유용한 도구 였지만, 새로운 버전을 구현할 시간이 없었던 것 같습니다. (공식 GF 사이트에서 일부 스레드를 읽었습니다.) –

관련 문제