분류

Couchbase ELMAH 오류 로그 제공자 소개

ASP.NET 개발자이신 분이라면 ELMAH 프로젝트에 추가할 수 있습니다. ELMAH(오류 로깅 모듈 및 핸들러)는 처리되지 않은 예외를 추적하기 위해 ASP.NET 웹 애플리케이션에 추가할 수 있는 일련의 HTTP 모듈과 HTTP 핸들러입니다. ELMAH는 웹 콘솔, 이메일 알림 및 RSS 피드를 통해 이러한 오류를 볼 수 있는 액세스를 제공합니다.

그렇다면 엘마는 이러한 예외가 발생하면 어디에 저장할까요? 다행히도 그 답은 구성이 가능하다는 것입니다. ELMAH는 기본적으로 여러 관계형 데이터베이스(기억하시나요?), 인메모리 저장소 및 XML 파일에 대한 공급자와 함께 제공됩니다. 기본 제공은 아니지만 이제 사용 가능한 항목 로그 목록에 Couchbase를 추가할 수 있습니다. 어제 저는 ELMAH Couchbase 공급자를 Couchbase Labs에 게시했습니다. https://github.com/couchbaselabs/elmah-couchbase.

왜 ELMAH에 Couchbase를 사용해야 할까요? 애플리케이션의 일부가 갑자기 예외를 던지기 시작하는 경우, 과부하가 걸린 RDBMS를 쓰기로 막고 싶으신가요, 아니면 로깅 책임을 처리할 수 있는 데이터베이스에 넘기고 싶으신가요? 수만, 아니 수십만의 의 초당 작업 수입니다. 여러분의 애플리케이션이 예외 로깅을 위해 그 정도의 처리량을 필요로 하지 않기를 바랍니다. 하지만 만약 그런 날이 온다면...

새 제공업체를 시작하려면 ELMAH를 설치해야 합니다(코어가 아닌 구성이 포함된 Nuget 패키지를 사용하세요). ELMAH 설정 방법에 대한 자세한 내용을 참조하세요. 설치가 완료되면 GitHub에서 Couchbase ELMAH 로그 항목 소스를 받거나 최신 너겟 패키지. Web.config에서 새 오류 로그를 사용하도록 ELMAH를 구성합니다.

<엘마>
<에러로그 카우치베이스 구성=" type="Elmah.Couchbase.CouchbaseErrorLog, Elmah.Couchbase" />
>
서버 측에서는 Couchbase Server 2.0을 사용해야 합니다. 최신 2.0 서버 빌드 또는 개발자 프리뷰 4를 Couchbase에서 사용해 볼 수 있습니다. 다운로드 페이지. 설치가 완료되면 "errors"라는 디자인 문서에 "by_date"라는 이름의 뷰를 만들어야 합니다. 보기에 대한 코드는 소스에서 "CouchbaseErrorLog.json"이라는 파일에 있습니다. 보기 만들기에 대한 자세한 내용은 2.0용 웹 콘솔 가이드를 참조하세요.
함수 (doc) {
만약 (doc.예외) {
emit(doc.시간, null);
}
}
뷰를 만들고 프로덕션 뷰로 게시하면 모든 설정이 완료되고 ELMAH와 함께 Couchbase를 사용할 준비가 된 것입니다. 애플리케이션에서 처리되지 않은 예외가 발생하고(404가 정상적으로 작동함) 사이트 루트(예: https://localhost:34636/elmah.axd)에서 "elmah.axd" 리소스를 요청합니다. 아래와 같은 오류 목록이 표시되어야 합니다:
elmah
다시 한 번 말씀드리지만, Couchbase ELMAH 오류 로그는 Couchbase 공식 프로젝트가 아닌 Couchbase Labs 프로젝트입니다. 애플리케이션에서 자유롭게 사용할 수 있지만 지원 및 유지 관리가 제한됩니다. 문제를 발견하면 언제든지 포크하여 풀 리퀘스트를 보내거나 포럼에서 질문을 제기해 주세요.
이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 존 자블로키

존 자블로키는 NET. SDK 개발자입니다. John은 Beantown ALT.NET의 주최자이자 Fairfield University의 전 겸임교수이기도 합니다. Amazon에서 Couchbase Server를 설치하고 구성하는 방법을 설명하는 "Couchbase Essentials"라는 책을 확인할 수도 있습니다.

댓글 하나

  1. 앤서니 케이시 7월 29, 2014에서 10:10 오전

    이 프로그램을 실행하는 데 문제가 있습니다. 다음과 같은 오류가 발생합니다:

    GetErrors()에서 GetView의 결과를 반복할 때 \"객체의 현재 상태로 인해 작업이 유효하지 않습니다\"라는 오류 메시지가 표시됩니다.

    내 문제는 이미 카우치베이스 포럼에 게시된 문제와 동일한 것 같습니다(답변 없음):

    https://www.couchbase.com/forum...

    조언해 주실 수 있나요?

  2. 앤서니 케이시 7월 29, 2014에서 10:45 오전

    중복 질문 - 삭제할 수 없습니다.

  3. Anthony -

    어떤 버전의 SDK를 사용하고 있나요? 버전을 최신 버전(작성 시점 기준 1.3.7)으로 업데이트하고 어떤 일이 발생하는지 확인해 볼 수 있나요?

    또한 Q&A 포럼(https://www.couchbase.com/commu... 및/또는 Jira(https://www.couchbase.com/issue... 버그를 발견했다고 생각되는 경우.

    감사합니다,

    Jeff

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.