문제

파일, 이벤트 로그 등에 로그인하는 클래스의 오류 로깅 세트를 작성하고 있습니다.이 클래스 내에서 어떤 예외 처리를 수행해야합니까? 예를 들어, 예외 핸들러에서 호출되는 로그러러 메소드가 있고 파일에 씁니다. 오류가 발생하면 최선의 방법으로 간주되는 것은 무엇입니까? 분명히, 나는 이러한 방법을 가능한 한 안전하게 안전하게 만들어야하지만 항상 문제가 발생할 수 있습니다.

도움이 되었습니까?

해결책

일반적으로 나는이 경우 가능한 한 많은 정보를 stderr로 출력하며, 종종 로깅 코드의 오류/예외와 원래 로그/오류/예외가 모두 있습니다. 그렇게하면 문제를 재현하거나 이해할 가능성이 있습니다.

STDERR에 글을 쓰면 실패하면 포기해야합니다. 무시하고 신청서를 완전히 종료해야합니다.

다른 팁

log4j/log4net/log4php/log4*와 같은 기존 로깅 메커니즘을 사용하지 않는 이유는 무엇입니까? 이 도구에는 아마도 이러한 세부 사항이 분류되어있을 것입니다.

참고로, 컨테이너 (예 : Tomcat) 내부에서 코드를 실행하면 예외 핸들러 내부에서 예외를 던지더라도 컨테이너가 잡아서 표시됩니다. Douglas Leeder가 말했듯이, 당신은 핸들러 내부의 모든 예외를 포착하여 Syserr에 던질 수 있습니다.

디버그 로깅이라면 로깅이 무엇인지에 따라 달라집니다. 반면에 디버깅 보조 장치로 인해 응용 프로그램이 생산에 실패하지 않기 때문에 계속해서 뱅킹 응용 프로그램이 감사없이 계속 작동하면 고객이 화를 내고 있다고 생각합니다.

서비스로 감사 및 예외 처리를 구현할 수 있습니다. 응용 프로그램 수준 감사 로깅에는 각 비즈니스 거래에 대한 상태 데이터가 필요합니다. 비즈니스 또는 트랜잭션 컨텍스트에서 응용 프로그램을 모니터링하는 기능은 서비스 내에서 모니터링 인터페이스가 필요합니다. 이를 위해서는 각 서비스가 비즈니스 거래의 중요한 단계에서 상태 메시지를 보내야합니다. 그런 다음 실시간 뷰어를 구축하여 상태 메시지 (예 : 트랜잭션 ID의 의미를 기반으로)를 복합 응용 프로그램 내의 서비스와 상관시킬 수 있습니다. 이는 SLA 관리, 결함 추적 및 문제 결정을위한 비즈니스 거래에 대한 엔드 투 엔드보기를 제공합니다.

그런 다음 감사 서비스는 구성에 정의 된 기준에 따라 메시지를 소비하고 녹음 할 수있는 상태 머신으로 구현할 수 있습니다. 일반적인 예외 핸들러는 감사 서비스를 사용하여 Enterprise SOA에서 발생하는 문제에 대한 중앙 집중식 관점을 지원하여 예외 기반 모니터링을 지원할 수 있습니다. 솔루션에서 발생하지 않아야 할 조건은 예외 메시지를 예외 처리기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top