Graylog: Utilizar o pacote Winston GELF para enviar logs de Node.js para o Graylog
Esta documentação faz parte do guia Utilizar com Node.js. Consulte o guia completo aqui: Como enviar logs de Node.js para o Graylog.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Graylog cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Servidor de email SMTP ilimitado e dedicado incluído.
- Atualizações sem esforço com apenas um clique.
- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://logs.sua-empresa.com).
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução Graylog cloud hosting da Stackhero!
warning É preferível utilizar o pacote
graylog2, exceto se já estiver a usar Winston no seu projeto. Nesse caso, pode substituí-lo porwinston-gelf.
Para instalar o pacote Winston GELF, execute:
npm install winston-gelf
Se ainda não tiver o Winston no seu projeto, pode adicioná-lo com:
npm install winston
Aqui está uma configuração básica:
const winston = require('winston');
const winstonGelf = require('winston-gelf');
const process = require('process');
const logger = winston.createLogger({
transports: [
new winston.transports.Console(),
new winstonGelf({
// Consulte todas as opções do gelfPro aqui: https://www.npmjs.com/package/gelf-pro
gelfPro: {
fields: {
env: process.env.NODE_ENV || 'development'
},
adapterName: 'udp',
adapterOptions: {
host: '<XXXXXX>.stackhero-network.com', // Substitua pelo seu domínio Graylog
port: 12201,
}
}
})
]
});
// Exemplo de log informativo
logger.info('This is a log information');
// Exemplo de log de erro
try {
throw Error('This is an example error');
}
catch(error) {
logger.warn({ message: 'Error triggered', error });
}
Não se esqueça de configurar o seu input Graylog (detalhes abaixo).