2008-10-14 4 views
8

Java에서 자동 오류보고 시스템을 아는 사람이 있습니까? 우리는 클라이언트 서버에 설치된 서버 제품을 가지고 있습니다. 아이디어는 우리 서버가 우리 서버 중 하나에 오류의 세부 사항을 담아 집으로 전화를 걸어서 버그 추적기에 버그를 입력하는 것입니다. 선호, 이것은 HTTP를 통해 일어날 것입니다. 모든 예외적 인 경우에는 발생하지 않을 것입니다. 심각하고 더 심각하게 취급되는 경우는 예외입니다.자동 Java 오류보고 시스템

나는 내 자신을 굴리는 것을 피하려고합니다. We''ll는 예외를 스스로 잡는다. 그러나 나는이 시스템이 예외 처리자와 버그 추적자 뒤의 집 사이에서 가능한 한 많이 취급하기를 바라고있다.

+0

고객과 먼저 확인해 보셨습니까? 나는 집에 전화하는 서버 소프트웨어에 만족할 어떤 클라이언트도 모른다. 그들의 보안 팀은 정말로 화를 낼 것입니다. –

+0

우리 시스템은 이미 그렇게하고 있습니다. 우리는 더 나은 것을 찾고 있습니다. 당신은 좋은 지적을 제기합니다. 그러한 시스템은 일반적으로 도메인에 따라 옵트 인되어야합니다. – sblundy

답변

2

평범하지 않지만, 어 펜을 사용하면 Log4J 개를 사용할 수 있습니다.

SocketAppender을 사용하면 원격지의 로그 서버에 이벤트를 보낼 수 있습니다. SMTPAppender를 사용하여 메일을 통해 통신 할 수도 있습니다 (약간 까다 롭지 만 구현하기 쉽습니다). 나는 HTTP를 통해 서버와 통신하는 다른 appender가 있는지 모른다 (필요할 경우 구현할 수도있다.)

stackoverflow의 다른 사용자에게 더 좋은 아이디어가 있는지 확인합니다.

+1

그 생각은했지만 좀 더 완벽한 것을 원했다. – sblundy

+0

사실, 최근에 ExceptionLogger를 구현했는데, 이는 ExceptionLogger에서 예외가 기록 된 경우 (NDC 컨텍스트와 함께) 데이터베이스에 로그를 저장하는 appender입니다. 처리. 몇 시간 만 일했다. DB 대신에 당신은 HTTP 요청을해야합니다. –

1

SNMP4J을 살펴보십시오. SNMP 정보를 집계하는 시스템 관리 도구가 꽤 많이 있습니다 (시스템 관리자에게 문의하십시오). Simple Network Management Protocol은 모니터링을 위해 설계되었습니다.

메일을 보낼 필요가있는 경우 JavaMail을 사용하여 자체 프레임 워크를 빌드 할 수도 있습니다. 그렇게 복잡한 것은 아니며 보일러 플레이트 코드를 비즈니스 논리 외부에 배치 할 수 있습니다.

아마도 버그 추적 시스템에서 Soap/XML 메시지를 허용 할 수 있습니다. 비록 Axis가 꽤 많은 의존성을 가지고 있지만, Axis는 좋은 선택이 될 것입니다.

2

생각해 보면 우리 서버는 우리 서버 중 하나에 오류의 세부 정보가 포함 된 집으로 전화를 걸고 우리의 버그 추적기에 버그를 입력합니다.

상당히 새로운 오류보고 도구 인 Ctrlflow Automated Error Reporting을 확인하십시오. Java 및 Eclipse/OSGI에 맞게 최적화되었으며 several clients과 함께 제공됩니다 (서버 제품의 경우 Logback 또는 Log4J 클라이언트가 적합 할 수 있음). 오류 보고서를 집으로 중앙 서버로 전송합니다.

그러면 서버는 들어오는 오류 보고서 을 자동으로 필터링하고 집계합니다. 서버는 자동으로 버그 추적기와 동기화되며 새로운 버그를 자동으로 열 수 있습니다. 또한 정기적 인 간격으로 개발자에게 보낸 대시 보드 및 다이제스트 메일을 제공합니다.

작은 프로젝트에는 무료입니다.