souz4-my / melhorando-logs-do-nodejs-com-typescript-pinojs-logdna-2021-09-13

Rocketseat - ExpertsClub: Melhorando Logs do Node.js com TypeScript, Pino.js e LogDNA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Melhorando Logs do Node.js com TypeScript, Pino.js e LogDNA

Descrição

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.

Projeto

Domínio

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;

Repositório

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.

Dependências

Scripts

  • 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;

Rodando o projeto localmente

  1. Instale o Node.js (já vem com o npm) através do link disponibilizado acima;
  2. Atualize o arquivo .env com a sua Key para o LogDNA;
  3. Execute o comando npm ci;
  4. Execute o comando npm run start:local ou npm run start:prod para executar o código e ver os resultados;
  5. Modifique os logs no arquivo app.ts para modificar os resultados.

Links

Expert

Lucas Lopes

About

Rocketseat - ExpertsClub: Melhorando Logs do Node.js com TypeScript, Pino.js e LogDNA