Graylog: Uso del paquete Winston GELF para enviar logs de Node.js a Graylog
Esta documentación forma parte de la guía Uso con Node.js. Consulte la guía completa aquí: Cómo enviar logs desde Node.js a Graylog.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Graylog cloud lista para usar que proporciona una serie de beneficios, incluyendo:
- Servidor de correo electrónico SMTP ilimitado y dedicado incluido.
- Actualizaciones sin esfuerzo con solo un clic.
- Nombre de dominio personalizable asegurado con HTTPS (por ejemplo, https://logs.tu-empresa.com).
- Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.
Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de Graylog cloud hosting de Stackhero!
warning Es preferible utilizar el paquete
graylog2salvo que Winston ya forme parte de su proyecto. En ese caso, puede sustituirlo porwinston-gelf.
Para instalar el paquete Winston GELF, ejecute:
npm install winston-gelf
Si Winston aún no está en su proyecto, puede añadirlo con:
npm install winston
Aquí tiene una configuración 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 las opciones de gelfPro aquí: https://www.npmjs.com/package/gelf-pro
gelfPro: {
fields: {
env: process.env.NODE_ENV || 'development'
},
adapterName: 'udp',
adapterOptions: {
host: '<XXXXXX>.stackhero-network.com', // Sustituya por su dominio de Graylog
port: 12201,
}
}
})
]
});
// Ejemplo de log informativo
logger.info('This is a log information');
// Ejemplo de log de error
try {
throw Error('This is an example error');
}
catch(error) {
logger.warn({ message: 'Error triggered', error });
}
No olvide configurar su entrada de Graylog (más detalles a continuación).