Blog / Javascript

O Que é Morgan no Node.js? Guia Prático de HTTP Logging com Express

TTulio Faria 23 de ago. de 2017 1 min de leitura
O Que é Morgan no Node.js? Guia Prático de HTTP Logging com Express

O hands-on de hoje é sobre o Morgan, que é uma forma de logar ou mostrar quais requisições estão chegando em nosso servidor HTTP, seja ele feito no Express ou em Node puro utilizando o módulo HTTP.

A primeira coisa que temos que fazer é adicionar as dependências:

yarn add express morgan

Eu já tenho um arquivo teste criado e vou começar a importar o que precisamos:

const express = require('express')
const morgan = require('morgan')
const app = express()
app.get('/', (req, res) => {
  res.send('olá DevPleno')
})
app.listen(3000, () => console.log('listenning'))

Agora vamos colocar o Morgan como um Middleware e ele vai interceptar toda a requisição que chegar:

app.use(morgan('combined'))

Perceba que, ao dar F5 na página, ele traz as informações:

Exemplo 1

Isso é muito legal porque no Apache já temos isso, e se estivermos rodando isso na Amazon, temos a possibilidade de conseguir recuperar esses dados. Temos uma outra versão que é o Tiny:

app.use(morgan('tiny'))

Exemplo 2

Nele temos um retorno mais simples, o método, saída e tempo de resposta. Ainda temos uma terceira forma, que é um padrão personalizado:

app.use(morgan(':method :url :response-time'))

Exemplo 3

Lembrando que, pela Amazon, você pode guardar isso enviando para o S3. Indo para lá, você pode guardar essas informações por muito tempo.

Essa é a ideia para gerar dados toda vez que a gente recebe uma requisição no Express, isso é bastante útil, é algo que já existe no Apache, mas temos que adicionar como Middleware no Express e assim configurar da maneira que queremos.

Confira o video:

Curta o DevPleno no Facebook, inscreva-se no canal e cadastre seu e-mail para não perder nenhuma novidade. Deixe suas dúvidas e sugestões nos comentários. Abraço!

T
Escrito por
Tulio Faria

Mestre em Sistemas de Informação pela USP e criador do DevPleno. Iniciou sua carreira como professor com apenas 18 anos em um curso técnico, foram 11 anos em sala de aula formando desenvolvedores fullstack no sul de Minas Gerais.

JavascriptNodeJS
Compartilhar X LinkedIn
Continue lendo

Insights relacionados