Graylog: Utiliser le package Winston GELF pour envoyer des logs Node.js vers Graylog
Cette documentation fait partie du guide Utilisation avec Node.js. Consultez le guide complet ici : Comment envoyer des logs de Node.js vers Graylog.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Graylog cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Serveur e-mail SMTP illimité et dédié inclus.
- Mises à jour sans effort en un clic.
- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://logs.votre-entreprise.com).
- Performance optimale et sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Graylog cloud hosting de Stackhero !
warning Il est préférable d'utiliser le package
graylog2sauf si Winston fait déjà partie de votre projet. Dans ce cas, vous pouvez le remplacer parwinston-gelf.
Pour installer le package Winston GELF, exécutez :
npm install winston-gelf
Si Winston n'est pas déjà dans votre projet, vous pouvez l'ajouter avec :
npm install winston
Voici une configuration de base :
const winston = require('winston');
const winstonGelf = require('winston-gelf');
const process = require('process');
const logger = winston.createLogger({
transports: [
new winston.transports.Console(),
new winstonGelf({
// Consultez toutes les options gelfPro ici : https://www.npmjs.com/package/gelf-pro
gelfPro: {
fields: {
env: process.env.NODE_ENV || 'development'
},
adapterName: 'udp',
adapterOptions: {
host: '<XXXXXX>.stackhero-network.com', // Remplacez par votre domaine Graylog
port: 12201,
}
}
})
]
});
// Exemple de log informatif
logger.info('This is a log information');
// Exemple de log d'erreur
try {
throw Error('This is an example error');
}
catch(error) {
logger.warn({ message: 'Error triggered', error });
}
N'oubliez pas de configurer votre input Graylog (voir détails ci-dessous).