Graylog: Het Winston GELF-pakket gebruiken om Node.js-logs naar Graylog te sturen

Deze documentatie maakt deel uit van de Gebruik met Node.js-gids. Bekijk de volledige gids hier: Hoe u logs van Node.js naar Graylog verzendt.

👋 Welkom bij de Stackhero-documentatie

Stackhero biedt een volledig beheerde Graylog cloud oplossing, ontworpen voor snelheid en eenvoud. U kunt:

  • Vertrouwen op een onbeperkte, dedicated SMTP mailserver die bij uw dienst is inbegrepen.
  • Updates moeiteloos toepassen met één klik, zonder handmatige handelingen.
  • Een eigen domeinnaam gebruiken, beveiligd met HTTPS (bijvoorbeeld https://logs.uw-bedrijf.com), zodat uw team veilig en direct toegang heeft.
  • Profiteren van uitstekende prestaties en beveiliging op een private, dedicated infrastructuur zonder gedeelde resources of storende buren.

Focus op uw data, niet op uw tooling: u kunt binnen enkele minuten aan de slag met Stackhero's Graylog cloud hosting oplossing.

warning Het is aan te raden het graylog2-pakket te gebruiken, tenzij Winston al onderdeel is van uw project. In dat geval kunt u het vervangen door winston-gelf.

Om het Winston GELF-pakket te installeren, voert u uit:

npm install winston-gelf

Als Winston nog niet in uw project zit, kunt u het toevoegen met:

npm install winston

Hier volgt een basisconfiguratie:

const winston = require('winston');
const winstonGelf = require('winston-gelf');
const process = require('process');

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winstonGelf({
      // Bekijk alle gelfPro-opties hier: https://www.npmjs.com/package/gelf-pro
      gelfPro: {
        fields: {
          env: process.env.NODE_ENV || 'development'
        },
        adapterName: 'udp',
        adapterOptions: {
          host: '<XXXXXX>.stackhero-network.com', // Vervang door uw Graylog-domein
          port: 12201,
        }
      }
    })
  ]
});

// Voorbeeld van een informatieve log
logger.info('This is a log information');

// Voorbeeld van een foutlog
try {
  throw Error('This is an example error');
}
catch(error) {
  logger.warn({ message: 'Error triggered', error });
}

Vergeet niet uw Graylog-input te configureren (zie details hieronder).