*Nota: a fonte pode ser encontrada aqui.

Embora talvez seja um dos recursos mais monótonos de um SDK, o registro e a instrumentação são provavelmente um dos mais valiosos em termos de encontrar e isolar problemas e garantir que seu aplicativo esteja sendo executado conforme o esperado. Neste post, discutirei como o novo Couchbase SDK 2.0 lida com o registro, quais estruturas ele suporta e como começar a trabalhar com o registro usando o novo cliente.

Todos nós temos algo em comum...

Quando todos nós apoiarmos o Apache Comum.Registro nós fazemos! Brincadeiras à parte, o novo cliente suporta uma variedade de implementações de registro por meio dessa interface comum, portanto, suas opções para um provedor de registro incluem:

Desde que a implementação de registro que você escolheu seja compatível com a interface Common.Logging, você está pronto para começar!

Como começar

O cliente é fornecido com as dependências do Common.Logging já definidas e incluídas nos arquivos zip que contêm os binários ou gerenciadas pelo pacote Nuget. Para ativar o registro em log no System.Console padrão, basta adicionar a seguinte configuração ao seu App.Config ou Web.Config:


 
         

     

 
   
     
       
       
       
       
     

   

 

No snippet acima, primeiro definimos uma nova seção de configuração para manter a configuração Logging.Common. Em seguida, adicionamos o elemento de configuração e definimos um adaptador de fábrica para o System.Console e um pouco de formatação. É isso aí! Se você executar o aplicativo, verá que todas as informações de registro são direcionadas para stdout.

O registro em stdout é útil para projetos de teste de unidade e similares, mas não é adequado para implementações de produção. Nesse caso, é melhor usar um appender de fábrica, como log4net ou NLog, e gravar os resultados em um arquivo ou talvez em um banco de dados (hmm, que tal voltar para o Couchbase como um armazenamento de dados operacionais?)

Uso do adaptador Log4Net

Então, isso mostra como usar o ConsoleOutLoggerFactoryAdapter padrão para gravar no stdout, mas e quanto a usar outra estrutura de registro como o Log4Net? Bem, isso é muito fácil de fazer, desde que você tenha referenciado a dependência do Log4Net em seu projeto:


 
         

       

 

 
   
     
       
     

   

 

 
 
   
       
     
   

   

   
     
     
   
 

Aqui estamos criando a seção Common.Logging e o elemento de configuração usuais e, em seguida, especificando o Log4NetLoggerFactoryAdapter. Também estamos especificando uma seção e um elemento de configuração do log4net para um appender de arquivo e adicionando o caminho para o arquivo no qual gravar. Isso é mais parecido com uma configuração que você usaria em um ambiente de produção. Observe que você deve ter referências aos seguintes pacotes Nuget em seu arquivo packages.config:

       

Na maioria dos casos, você usaria o Nuget para gerenciar esse arquivo, mas o uso desse arquivo permite "encurtar" a caixa de diálogo do gerenciador de pacotes do Nuget.

Uma observação rápida sobre os níveis de registro

O cliente usa os seguintes níveis de registro padrão:

  • Traço
  • Depurar
  • Erro
  • Fatal
  • Avisar
  • Informações

Em geral, o Debug é usado para rastrear a execução geral de uma operação. Info é usado para rastrear a parte de gerenciamento de configuração (alterações na topologia do cluster, etc.) do cliente e todas as exceções capturadas (e possivelmente rejeitadas novamente) são registradas como Error.

Autor

Postado por Jeff Morris, engenheiro de software sênior, Couchbase

Jeff Morris é engenheiro de software sênior da Couchbase. Antes de ingressar na Couchbase, Jeff passou seis anos na Source Interlink como arquiteto da Web corporativa. Jeff é responsável pelo desenvolvimento dos SDKs do Couchbase e pela integração com o N1QL (linguagem de consulta).

Deixar uma resposta