A biblioteca de clientes .NET fornece informações detalhadas sobre erros por meio de sua interface IOperationResult. Para descobrir por que uma operação de armazenamento falhou, use ExecuteStore em vez de Loja.
se (! resultado.Sucesso)
{
Console.WriteLine("A operação falhou com a mensagem {0} e o código de status {1}", resultado.Mensagem, resultado.StatusCode);
}
Enquanto o IOperationResult que é retornado fornece códigos de status, exceções capturadas e mensagens de erro, há situações em que o registro detalhado é necessário para diagnosticar um problema persistente.
Com a recente versão 1.2.2 da biblioteca de clientes .NET para o Couchbase, os assemblies de registro são incluídos por padrão na biblioteca Pacote Nuget e o zip com o binários mais recentes. Fora da caixa, o Couchbase (e sua dependência Enyim.Caching) oferece suporte ao registro log4net e NLog.
É muito simples ativar o registro em log com o Couchbase, mas você precisa conhecer os conceitos básicos de configuração do log4net ou do NLog para começar. Se estiver apenas começando com o Couchbase e o ASP.NET, seria útil ver os detalhes do registro sem precisar aprender outra estrutura, mesmo que mínima. Felizmente, se você estiver usando a ferramenta de diagnóstico Vislumbre no seu aplicativo ASP.NET, você pode ativar o registro em log com bastante facilidade.
Se você não estiver familiarizado com o Glimpse, a analogia comum é o "Firebug para ASP.NET". Depois de instalar o pacote NuGet do Glimpse e ativar a estrutura, você obtém uma janela de diagnóstico em seu aplicativo que fornece uma visão da solicitação conforme ela foi executada no servidor. Você pode ver suas configurações web.config, detalhes do ambiente, rotas, variáveis do servidor e vários outros aspectos do aplicativo Web em execução.
Nik e Anthony, que criaram o projeto Glimpse de código aberto (agora apoiado pela Redgate), criaram um modelo de extensibilidade poderoso. Conectar-se à interface do usuário do Glimpse para fornecer detalhes de instrumentação para uma biblioteca é tão simples quanto implementar a função ITab (ou estendendo a interface TabBase).
A dependência Enyim.Caching no cliente Couchbase define ILog e ILogFactory que, quando implementadas, podem ser usadas para fornecer um provedor de registro personalizado para capturar detalhes de instrumentação do Couchbase. Para meu novo projeto CouchbaseLabs Couchbase.Glimpse, criei um novo registrador que capturará os registros por solicitação e enviará a saída para o Glimpse.
Para começar, instalar e ativar o Glimpse. Depois de fazer isso, instale o CouchbaseGlimpse extensão. O pacote NuGet adicionará a configuração necessária para você. Você também pode obter o código-fonte do GitHub. Se optar pela rota do código-fonte, será necessário incluir a seção de configuração abaixo.
<configSections>
<sectionGroup nome="enyim.com">
<seção nome="log" tipo="Enyim.Caching.Configuration.LoggerSection, Enyim.Caching" />
>
…
>
<enyim.com>
<log fábrica="Couchbase.Glimpse.Logging.GlimpseLogFactory, Couchbase.Glimpse" />
>
>
Você precisará ativar o registro em log para começar a capturar detalhes do cliente. Em algum lugar do seu aplicativo, provavelmente em Application_Start, você precisará chamar a função Configurar método em GlimpseLogger.
GlimpseLogger.Configurar(configuração);
Os níveis de registro são cumulativos, portanto, ativar a depuração ativa todos os outros níveis. Você também pode capturar registradores específicos (registros por classe) adicionando nomes de registros à lista branca. A configuração abaixo produzirá logs originados somente na classe PooledSocket e ConfigHelper aulas.
Depois de criar seu aplicativo para incluir a nova guia Couchbase no Glimpse, navegue até uma página em que o cliente Couchbase esteja sendo usado. Você deverá ver algo semelhante à captura de tela abaixo.
Você verá que, quando o cliente está inicializando pela primeira vez, ele é um pouco tagarela com os logs de depuração. No entanto, se estiver tendo problemas para se conectar ao cluster, provavelmente há informações valiosas disponíveis, inclusive a configuração do cluster (que pode ser vista como JSON na captura de tela acima).
O GlimpseLogger não mantém seus registros, portanto, se você precisar capturar informações de diagnóstico além de uma solicitação, precisará usar o log4net ou o NLog.
O Repositório do GitHub contém uma cópia do aplicativo de amostra de cerveja .NET com o Glimpse ativado. Clone esse repositório e execute o aplicativo para ter uma rápida noção de como o plug-in funciona.