회사의 여러 응용 프로그램에서 사용자 지정 로거를 사용합니다. 상당히 강력하지만 나중에 NLog와 같은 것으로 바꿀 수 있습니다. 로거의 작업 중 하나는 응용 프로그램에서 발생한 예외를 기록하는 것입니다.
내가 항상 가지고 있었던 한 가지 우려 는 로거 내 예외 처리 가 자동 실패를 허용한다는 것입니다. 즉, 로그가 주어진 예외에 대해 기록되지 않은 경우 (로거의 오류로 인해) 로그를 어떻게 처리하고 어떻게 든 로거 자체에 예외를 기록 해야합니까?
WriteLog 함수에서 예외가 발생한다고 가정 해 봅시다. 몇 번 또는 예외가 발생하지 않을 때까지 함수를 호출해야합니까? 로거로 던져진 예외를 작성해야합니까 (예외적으로 예외가 발생할 수 있습니다). 사용자 정의 로거를 처음 구현했을 때를 제외 하고는이 상황을 겪지 않을 정도로 운이 좋았습니다. 반면, 로거가 응용 프로그램 예외를 기록하지 못한 경우 (자체 예외로 인해) 알 수있는 방법이 없습니다.
온라인 및 일부 SE 사이트에서 검색을 시도했지만 모든 게시물이 로거의 오류 (잠재적 예외 및 로깅 방법은 아님) 또는 로거 외부의 예외를 처리하기 때문에 지금까지 성과가 없었습니다.
stderr
출력 매체가 실패했거나 "불가능"이 발생했음을 로그하십시오 .