문제

나는 일에 가게 어디서 나가 구현된 예외 처리에 이벤트 로그의 테이블에 데이터베이스입니다.

각각의 장점의 수 있는 몇 가지를 강조 제 경험으로:

이벤트 로그

  • 산업 표준을 위한 예외는(+)
  • 편의 로깅(+)
  • 로그인할 수 있는 데이터베이스 연결에 문제가 여기에(+)
  • 를 구축할 수 있습 보고서 및 애니메이션의 상단에 이벤트 로그에(+)
  • 필요를 너무 자주면 많이 보고 있는(-)
  • 지 않으로 확장 가능한 SQL 로깅[사용자 정의 필드를 추가 같은 방법을 이름에서 SQL](-)

SQL/데이터베이스

  • 큰 볼륨을 처리할 수 있는 데이터의(+)
  • 처리할 수 있는 빠른 볼륨에 삽입의 예외(+)
  • 단일 저장 위치에서 예외가 부하 균형 환경(+)
  • 매우 사용자 정의(+)
  • 조금 구축하는 것이 더 쉽 보고서/notification 의 SQL storage(+)
  • 다른 곳에서 일반적인 예외는 저장(-)

나는 모든 주요 고려 사항

나는 몇 가지의 이러한 점에서 논쟁의 여지가 있지만,나는 호기심을 일은 무슨 다른 팀,그리고 당신은 왜에 대한 강한 느낌의 선택입니다.

도움이 되었습니까?

해결책

을 구분할 필요가 있 사이 로깅 및 추적을 설정합니다.는 라인이 조금 흐,내가 생각하는 경향이의 로깅으로"비자 재료".같은 것들을 예외 처리되지 않은,손상된 파일은,등등.이들은 확실히 정상적인해야 합니다 매우 드문 문제입니다.

추적이 무엇인 개발자에 관심이 있습니다.스택 추적,방법,매개 변수는 웹 서버에서 반환된 HTTP 상태의 401.3,etc.이들은 정말로 시끄러운,그리고 생성할 수 있는 많은 양의 데이터에서 짧은 시간 동안 수 있습니다.일반적으로 우리가 서로 다른 레벨 추적을 소음.

로깅을 위해서는 클라이언트 응용 프로그램,생각하는 이벤트 로그가 가는 방법(나 번 확인해야 하지만,나는 생각한 ASP.NET 건강 모니터링할 수 있는 이벤트 로그에 기록하라).정상적인 사용자 권한이 있 이벤트 로그에 기록하는 한,당신은 Setup(설치 관리자에 의해 어쨌든)만들기 이벤트 소스입니다.

대부분의 장점에 대한 Sql 로깅하는 동안,진지 적용 가능한 이벤트 로깅:

  • 처리할 수 있는 대량의 데이터:당신이 정말 큰 볼륨의 처리되지 않은 예외 또는 다른 높은 수준의 장애?
  • 처리할 수 있는 빠른 볼륨에 삽입의 예외: 단일 처리되지 않은 예외를 가지고해야의 응용 프로그램-그것은 본질적으로 평가 제한됩니다.다른 흥미로운 이벤트는 비자 마찬가지로 집계됩니다.
  • 매우 사용자 정의 할 수 있습니다: 의 메시지는 이벤트 로그가 꽤 많 무료 텍스트입니다.더 많은 정보를 필요로 하는 경우,다만점을 텍스트 또는 구조화된 XML 또는 바이너리 파일 로그인
  • 조금 구축하는 것이 더 쉽 보고서/notification 의 SQL 저장소: 보고서 내 이벤트 로그 뷰어로,그리고 시스템은,하나의 고유-으로 인해 응용 프로그램의 충돌 또는 혼합 기타 정말 중요한 알림-가 누락에 대한 변명하는 이벤트 로그 메시지입니다.기업 또는 다른 네트워크 애플리케이션 프로세의 천 1 다양한 앱을 이미 수집하고 이벤트 로그에 오류를 기회는 당신버가 이미 사용 중 하나.

추적, 는 특정 정보의 예외 또는 오류의 부분,나는 같은 평평한 파일을-그들은 쉽게 유지하고,쉽게 grep 및으로 가져올 수 있습니다 Sql 분석을 위해 내가 좋아하는 경우.

90%의 시간이,당신은 그들이 필요하지 않고 그에게 경고 또는 오류가 있습니다.하지만,당신이 할 때 그들을 설정하는 정보 또는 디버깅,당신은 생성 ton 데이터이다.An RDBMS 이 많이 있는 오버헤드-에 대한 성과(산,concurrency,etc.), 저장(트랜잭션 로그,SCSI RAID5 드라이브,etc.), 과 관리(백업,서버 유지보수,etc.) -모든 필요한 추적 기록합니다.

다른 팁

지 않 로그인 데이터베이스에 있습니다.당신 말대로,데이터베이스에 문제가 까다로운 로그인:)

나는 로그를 파일시스템,그리고 다음 작업에는 대량 파일에서 삽입을 데이터베이스입니다.개인적으로 난 것과 같이 로그 데이터베이스에 로그인 실행을 위해 주로 확장 상황-나는 꽤 많다고 가정 나는 하나 이상의 기계,실행하고 그것의 편리 할 수 있을 효과적으로 결합 log.(각 항목해야 한 기계에서 오는 물론입니다.)

보고 및 애니메이션 할 수 있는 아주 쉽게 데이터베이스에서-수 있 적 로그인 전문화된 보고는 도구이지만 꽤 많은 모든 데이터베이스는 일반화 보고 기능이 있습니다.

의 편의를 위해 로그,내가 사용하는 프레임워크아 log4net 많은 노력,그것은 시도 및 시험 솔루션입니다.고객께서는 아무거나 다른 사람,것을 변경할 수 있음을 의미 출력 전략과 코드 없이 변경합니다.수도 로그는 모두 이벤트 로그 데이터베이스에 필요한 경우,또는 일부 로그는 한 장소에 대해 일부합니다.(나는 것으로 간주됩니다.여기에서 순 있지만 비슷한 로깅 프레임워크에 대한 많은 플랫폼입니다.)

한 가지가 필요한 고려에 대해 이벤트 로깅하는 제품 밖에 있는 서버를 모니터링'이벤트 로그(마이크로소프트 같이 작업 관리자)및 지능적으로 수행 알림 수집에 대한 통계 자신의 내용이 있습니다.

다""마이너스의 SQL-based 로깅을 추가하는 또 다른 층의 종속성을 응용 프로그램,지 않을 수도 있습니다 또는 항상 허용됩니다.나는 모두 수행한다.저는 한 번 또는 두 번도를 사용 MSMQ 기반 메시지 큐 큐 로그 이벤트 및 비 큐로 MSSQL 데이터베이스에 대한 필요성을 제거 나의 클라이언트 소프트웨어에 연결되어 있습니다.

중 하나에 대한 참고 이벤트 로그에 쓰기:특정 권한이 필요한 응용 프로그램에 대 한 사용자는 어떤 환경에서이 제한될 수 있습니다.

내가 어디에서 우리의 대부분은 우리의 로깅,데이터베이스 편평한 파일을 백업입니다.그것은 매우 좋은,우리가 할 수 있는 것을 얻을 수 RSS 피드 응용 프로그램을 시청해 며칠 때 우리는 변화입니다.

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