Nesta aula nós exploramos uma forma de melhorar os Logs das nossas aplicações através dos seguintes passos:
- Remoção de console.log;
- Criação de Types para abstrair o nosso Logger;
- Utilização do Pino para logging;
- Pino-pretty para melhorar o visual dos nossos logs em ambiente local;
- Utlização do LogDNA para visualização e controle dos nossos Logs.
A performance foi um ponto chave durante toda a aula. Expliquei o quão problematico o console
é, e o como os mecanismos do Pino melhoram essa questão.
O projeto consiste em um código bem simples, centrado nas abstrações entre Logger e Aplicação. Abordamos mais algumas pontas de forma bem sucinta:
- Abstração do módulo de Config;
- Parametrizando argumentos dos npm scripts;
Este repositório conta com duas branches:
main
: esta branch contém o conteúdo inicial da aula, apenas com a estrutura do projeto;final
: esta branch contém o conteúdo final da aula, com o histórico de Commits seguindo cada passo da aula.
- npm 6.14.15
- Node.js 14.17.6
- Conta na IBM Cloud
- Serviço do LogDNA
npm ci
: Instala as dependências via npm;start:local
: Executa a aplicação juntamente com o Prettier de Logs;start:prod
: Executa a aplicação sem o Prettier de Logs;
- Instale o Node.js (já vem com o npm) através do link disponibilizado acima;
- Atualize o arquivo
.env
com a sua Key para o LogDNA; - Execute o comando
npm ci
; - Execute o comando
npm run start:local
ounpm run start:prod
para executar o código e ver os resultados; - Modifique os logs no arquivo
app.ts
para modificar os resultados.
- IBM Node.js Reference Architecture
- Introduction to the Node.js reference architecture, Part 1: Overview
- Pino.js
- LogDNA
- pino-logdna
Lucas Lopes |