Servidor Couchbase é um produto complexo. Como a maioria dos softwares substantivos, e especialmente os produtos empresariais, é importante monitorar o comportamento por meio de registros.
Recentemente, escrevi um pequeno aplicativo de amostra usando o cliente Java Couchbase Multi-Cluster Aware. Esse cliente pode lidar com o failover de um nó do Couchbase, passando a carga para um nó cluster completamente diferente (coisas muito legais). (Se você quiser saber mais sobre esses recursos e ver uma demonstração ao vivo, assista ao nosso webinar intitulado "How to Switch from Oracle to the World's First Engagement Database" (Como mudar da Oracle para o primeiro banco de dados de engajamento do mundo) por meio do link recursos página).
Troca de registradores
O Couchbase usa SLF4J sob o capô para registro. O SLF4J pode envolver e trabalhar automaticamente com vários frameworks, incluindo o padrão Java java.util.logging aulas, log4je retorno de registro. O Logback foi escrito para substituir o log4j e é o mais avançado dos três, portanto, eu queria usá-lo.
Acontece que é muito fácil. Para o maven, basta adicionar a seguinte dependência ao seu pom
arquivo. Isso puxará slf4j-api
como uma subdependência.
1 2 3 4 5 6 |
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --> <dependência> <groupId>ch.qos.retorno de registro</groupId> <artifactId>retorno de registro-clássico</artifactId> <versão>1.2.3</versão> </dependência> |
Com certeza, apenas adicionando isso, enquanto eu estava obtendo saída por meio do registro padrão do Java antes, agora obtenho registro por meio do logback. No entanto, o registro em log era muito ruidoso. Eu queria me concentrar especificamente nos problemas relacionados à conectividade de rede, mas as informações estavam sendo ocultadas em outros resultados.
Ajuste da saída
Um recurso interessante do logback é a capacidade de controlar a saída hierarquicamente. Li sobre isso na documentação, mas não encontrei nenhum bom exemplo.
Supondo que você crie registradores com base nos nomes das classes, aqui está um arquivo de configuração de logback simples que ajusta o registro em log do Couchbase Server em geral e o desativa para uma classe específica.
1 2 3 4 5 6 7 8 9 10 11 12 |
<configuração> <apêndice nome="STDOUT" classe="ch.qos.logback.core.ConsoleAppender"> <codificador> <padrão>%d{HH:mm:ss.SSS} [%linha] %-5 níveis %registrador{50} - %mensagem%n</padrão> </codificador> </apêndice> <raiz nível="warn"> <apêndice-ref ref="STDOUT" /> </raiz> <registrador nível="off" (desligado) nome="com.couchbase.client.core.endpoint.Endpoint" /> <registrador nível="error" (erro) nome="com.couchbase.client.core.env.CoreEnvironment" /> </configuração> |
Os dois últimos registrador
mostram a hierarquia em ação. A primeira linha define tudo no código do Couchbase para registrar somente em "erro" ou prioridade mais alta do padrão de "aviso". Isso controlaria o Ponto final
também. Em vez disso, a segunda linha desativa totalmente o registro em log apenas para essa classe.
É isso aí. Você pode ler mais sobre como configurar o logback na documentação no site do projeto. Esse trecho de configuração lhe dará um bom ponto de partida para ajustar seu Servidor Couchbase Saída do código do cliente Java se você estiver procurando um início rápido.
Pós-escrito
O Couchbase é de código aberto e gratuito para ser testado. Faça o download das versões mais recentes, incluindo prévias dos próximos recursos, aqui.
Encontre mais recursos em nosso portal do desenvolvedor e nos siga no Twitter @CouchbaseDev.
Você pode postar perguntas em nosso fóruns. E participamos ativamente de Estouro de pilha.
Entre em contato comigo pelo Twitter com perguntas, comentários, tópicos que você gostaria de ver etc. @HodGreeley