Quando aprendemos a programar, o primeiro exemplo de código encontrado por muitos de nós foi o famoso “Hello World”. Alguém, uma vez, disse no Quora que o Hello World é a linha de código mais poderosa já escrita, porque ela abriu as portas do mundo da computação para muitas pessoas. Eu concordo com o autor da frase, tanto que tenho uma homenagem ao Hello World no banner do blog.
Depois, começamos a escrever programas maiores com algoritmos mais complexos. Às vezes, o código não se comporta como esperávamos e não sabemos por quê. Uma das primeiras coisas que me ensinaram a fazer foi habilitar o modo debug e colocar breakpoints. Não demora muito para percebermos que isso é muito ineficiente. Em vez de colocar um breakpoint e um linha para consultar o valor de uma variável, podemos, nessa mesma linha, mandar imprimir o valor dessa variável. Isso é o primórdio do log.
Repare como essa é uma forma muito mais eficiente de entender o comportamento do seu código: à medida que o programa vai fazendo alguma coisa, ele vai “falando” o que está fazendo. Podemos acompanhar o que está acontecendo em tempo real fazendo “live tail” no log. Ou chegar na segunda-feira e saber tudo que aconteceu com sua aplicação web durante o fim de semana buscando por mensagens de erro nos arquivos de log. Mas pra que esperar se você pode configurar seu sistema de monitoramento para te enviar um email sempre que uma mensagem de erro específica aparecer no log. Indo mais além, podemos até configurá-lo para reiniciar o servidor caso uma mensagem de erro fatal apareça no log. Repare que, assim como o Hello World, logs são uma ideia simples, mas poderosa.
Por isso, para estrear o blog, este mês os artigos serão sobre logs de aplicações. Vamos aprender a usar frameworks de log em Java, coletar logs de diversos serviços e enviá-los para um ponto central onde poderão ser processados e analisados e ver diversas dicas sobre como tirar máximo proveito de seus logs. Acompanhe os próximos posts!