Elmah SQL Error Handler Database를 사용할 수 없습니다. 로깅은 어떻게됩니까?

StackOverflow https://stackoverflow.com/questions/758092

  •  09-09-2019
  •  | 
  •  

문제

Elmah를 테스트하고 있으며 DB를 사용할 수없는 경우 제작에서 어떤 일이 발생할 것인지 확인하기 위해 내 응용 프로그램의 Elmah 로그에 대한 데이터베이스 연결을 의도적으로 끕니다.

Elmah는 자체 오류를 잡을 수없는 것 같습니다. SQL Databse Log가 실패하면 AXD 파일을 사용할 수 없습니다.

데이터베이스를 사용할 수없는 경우 Elmah의 의도 된 동작은 무엇입니까?

이런 일이 발생하면 오류를 어떻게 진단 할 수 있습니까?

도움이 되었습니까?

해결책

Elmah에 대해서는 확실하지 않지만 그러한 로깅 프레임 워크의 예상되는 행동은 무언가 잘못되면 예외를 던지지 않는 것입니다. 즉, Elmah의 데이터베이스가 다운 된 경우 데이터베이스에 오류를 기록하지 않을 것이라고 가정합니다.

위에서 제안한대로 대체 싱크대 (이메일 또는 플랫 파일)를 사용할 수 있습니다.

다른 팁

Elmah는 자신의 오류를 잡을 수없는 것 같습니다

Elmah는 어느 정도 자체 오류를 가두 었습니다. 만약 ErrorLogModule 오류를 기록하려고 시도하면서 예외가 발생하면 로깅으로 인한 예외는 표준 .NET Framework 트레이스 기능으로 전송됩니다. 보다 1.0 출처에서 123 행. ASP.NET 추적으로 작동하는 표준 .NET 프레임 워크 추적을 얻기 위해 ASP.NET 문서의 다음 연습도 참조하십시오.

연습 : System.diagnostics 추적과 ASP.NET 추적 통합

SQL Databse Log가 실패하면 AXD 파일을 사용할 수 없습니다.

맞아요. SQL Server 데이터베이스 연결을 사용할 때 SQL Server 데이터베이스에 저장된 오류를 보려면 작동해야합니다. SqlErrorLog.

데이터베이스를 사용할 수없는 경우 Elmah의 의도 된 동작은 무엇입니까?

예를 들어 SQL Server 데이터베이스가 다운 된 경우 SqlException 로깅 중에 발생합니다. 그런 다음 엘마는 다음을 보낼 것입니다 SqlException 표준 .NET Framework 추적 시설에 객체 내용.

이런 일이 발생하면 오류를 어떻게 진단 할 수 있습니까?

여기서 가장 좋은 옵션은 로깅을 활성화하는 것입니다 그리고 오류의 이메일. 데이터베이스가 다운되면 메일 게이트웨이가 올라갈 가능성이 높고 오류에 대한 알림을받을 가능성이 높습니다. 사실상 오류가 얻어집니다 기록 일부 사서함 (ES). 이것은 또한 메일 게이트웨이가 다운되면 데이터베이스가 올라가고 오류가 기록 될 가능성이 있다는 이점이 추가되었습니다. 그러나 두 가지 모두 다운되면 생산 인프라를 심각하게 검토하고 추가 조치를 통해 시스템 건강을 모니터링하기위한 조치를 취해야합니다.

언제든지 XML 파일 옵션을 사용하여 오류를 기록 할 수 있습니다.

나는 당신이 맥락을 약간 혼합하고 있다고 생각합니다.

데이터베이스를 사용할 수없는 경우 Elmah의 동작은 데이터베이스에 오류를 기록하지 않습니다. 예외가 서버에서 발생하거나 A를 통해 예외를 제기하는 경우 ErrorSignal, Elmah는 해당 예외가 노란색 화면 또는 사용자 정의 오류 페이지 (설정)로 전달할 수 있도록합니다.

Errors.axd 페이지는 그것을 볼 수있는 사람들에게만 액세스 할 수 있으므로 (이상적으로는) 그 오류를 사용자에게 제시하는 것은 괜찮습니다.

결론은 오류 데이터베이스가 다운되면 오류를 진단 할 수 없다는 것입니다. 우리에게는이 경우 오류 데이터베이스가 프로덕션 데이터베이스와 함께 있기 때문에 더 큰 문제가있을 것입니다.


또한 기본 로깅 소스에 XML 로깅을 사용하는 것을 옹호합니다. SQL Server는 파일을 관리하지 않고도 최상의 성능을 제공 할 것입니다. XML 로깅을 사용하면 그렇지 않습니다.

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