Graylog: Utilizzo del pacchetto Winston GELF per inviare i log di Node.js a Graylog
Questa documentazione fa parte della guida Utilizzo con Node.js. Consulta la guida completa qui: Come inviare i log da Node.js a Graylog.
👋 Benvenuto nella documentazione di Stackhero
Stackhero offre una soluzione Graylog cloud completamente gestita, progettata per garantire velocità e semplicità. Puoi:
- Affidarti a un server SMTP email dedicato e illimitato incluso nel tuo servizio.
- Applicare facilmente gli aggiornamenti con un solo clic, senza necessità di interventi manuali.
- Utilizzare un nome di dominio personalizzato protetto da HTTPS (ad esempio, https://logs.tua-azienda.com), offrendo al tuo team un accesso diretto e sicuro.
- Sfruttare elevate prestazioni e sicurezza su un'infrastruttura privata e dedicata, senza risorse condivise o "noisy neighbors".
Concentrati sui tuoi dati, non sugli strumenti: puoi iniziare a utilizzare la soluzione Graylog cloud hosting di Stackhero in pochi minuti.
warning È preferibile utilizzare il pacchetto
graylog2a meno che Winston non sia già parte del vostro progetto. In tal caso, potete sostituirlo conwinston-gelf.
Per installare il pacchetto Winston GELF, eseguite:
npm install winston-gelf
Se Winston non è già presente nel vostro progetto, potete aggiungerlo con:
npm install winston
Ecco una configurazione di 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({
// Consultate tutte le opzioni di gelfPro qui: https://www.npmjs.com/package/gelf-pro
gelfPro: {
fields: {
env: process.env.NODE_ENV || 'development'
},
adapterName: 'udp',
adapterOptions: {
host: '<XXXXXX>.stackhero-network.com', // Sostituite con il vostro dominio Graylog
port: 12201,
}
}
})
]
});
// Esempio di log informativo
logger.info('This is a log information');
// Esempio di log di errore
try {
throw Error('This is an example error');
}
catch(error) {
logger.warn({ message: 'Error triggered', error });
}
Non dimenticate di configurare il vostro input Graylog (vedi dettagli sotto).