NET 클라이언트 라이브러리는 IOperationResult 인터페이스를 통해 자세한 오류 정보를 제공합니다. 스토어 작업이 실패한 이유를 확인하려면 ExecuteStore 대신 스토어.
만약 (! 결과.성공)
{
콘솔.WriteLine("{0} 메시지 및 상태 코드 {1}로 작업이 실패했습니다."결과.메시지결과.상태 코드);
}
동안 IOperationResult 반환되는 값은 상태 코드, 잡힌 예외 및 오류 메시지를 제공하므로 지속적인 문제를 진단하기 위해 자세한 로깅이 필요한 경우가 있습니다.
최근 1.2.2 릴리스의 Couchbase용 .NET 클라이언트 라이브러리에는 로깅 어셈블리가 기본적으로 포함되어 있습니다. 너겟 패키지 그리고 지퍼가 달린 최신 바이너리. 기본적으로 Couchbase(및 그 종속 종속 요소인 Enyim.Caching)는 log4net 및 NLog 로깅을 지원합니다.
Couchbase에서 로깅을 활성화하는 것은 매우 간단하지만 로그4net 또는 NLog 구성의 기본 사항을 알고 있어야 시작할 수 있습니다. Couchbase 및 ASP.NET을 처음 시작하는 경우 다른 프레임워크를 배우지 않고도 로깅 세부 정보를 볼 수 있다면 최소한이라도 유용할 것입니다. 다행히도 진단 도구를 사용하는 경우에는 엿보기 를 사용하면 아주 쉽게 로깅을 설정할 수 있습니다.
Glimpse에 익숙하지 않다면 "ASP.NET용 Firebug"로 비유할 수 있습니다. Glimpse용 NuGet 패키지를 설치하고 프레임워크를 활성화하면 애플리케이션에 서버에서 실행된 요청을 볼 수 있는 진단 창이 표시됩니다. 웹 구성 설정, 환경 세부 정보, 경로, 서버 변수 및 실행 중인 웹 애플리케이션의 기타 여러 측면을 볼 수 있습니다.
오픈 소스 Glimpse 프로젝트(현재 Redgate에서 지원)를 만든 Nik과 Anthony는 강력한 확장성 모델을 만들었습니다. 라이브러리에 대한 계측 세부 정보를 제공하기 위해 Glimpse UI에 연결하기는 ITab 인터페이스(또는 확장 TabBase).
Couchbase 클라이언트의 Enyim.Caching 종속성은 다음을 정의합니다. ILog 그리고 ILogFactory 인터페이스를 구현하면 Couchbase 계측 세부 정보를 캡처하기 위한 사용자 정의 로깅 공급자를 제공하는 데 사용할 수 있습니다. 새로운 CouchbaseLabs 프로젝트인 Couchbase.Glimpse의 경우 요청별 로그를 캡처하고 출력을 Glimpse로 전송하는 새 로거를 만들었습니다.
시작하려면, Glimpse 설치 및 활성화. 이 작업을 완료한 후에는 카우치베이스글림프 확장자를 추가하세요. NuGet 패키지가 필요한 구성을 추가합니다. 소스를 가져올 수도 있습니다. 깃허브에서. 소스 코드 경로를 사용하는 경우 아래 구성 섹션을 포함해야 합니다.
<configSections>
<섹션그룹 이름="enyim.com">
<섹션 이름="log" 유형="Enyim.Caching.Configuration.LoggerSection, Enyim.Caching" />
>
…
>
<enyim.com>
<로그 공장="Couchbase.Glimpse.Logging.GlimpseLogFactory, Couchbase.Glimpse" />
>
>
클라이언트에서 세부 정보 캡처를 시작하려면 로깅을 활성화해야 합니다. 애플리케이션의 어딘가, 아마도 Application_Start에서 구성 메서드의 GlimpseLogger.
로깅 수준은 누적되므로 디버그를 활성화하면 다른 모든 수준도 활성화됩니다. 화이트 리스트에 로그 이름을 추가하여 특정 로거(클래스별 로그)를 캡처할 수도 있습니다. 아래 구성은 클래스별 로그 중 풀링된 소켓 그리고 컨피그헬퍼 클래스.
Glimpse에 새 Couchbase 탭이 포함되도록 앱을 빌드한 후에는 Couchbase 클라이언트가 사용 중인 페이지로 이동합니다. 아래 화면 캡처와 비슷한 내용이 표시될 것입니다.

클라이언트를 처음 부트스트랩할 때는 디버그 로그가 약간 수다스럽다는 것을 알 수 있습니다. 그러나 클러스터에 연결하는 데 문제가 있는 경우 클러스터 구성(위 화면 캡처에서 JSON으로 볼 수 있음)을 비롯한 유용한 정보가 있을 수 있습니다.
GlimpseLogger는 로그를 지속하지 않으므로 요청을 넘어 진단 정보를 캡처해야 하는 경우 log4net 또는 NLog를 사용해야 합니다.
그리고 GitHub 리포지토리 에는 Glimpse가 활성화된 .NET 맥주 샘플 앱의 복사본이 포함되어 있습니다. 해당 리포지토리를 복제하고 앱을 실행하여 플러그인의 작동 방식을 빠르게 파악할 수 있습니다.