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 kant-en-klare Graylog cloud oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte en toegewijde SMTP e-mailserver inbegrepen.
  • Moeiteloze updates met slechts één klik.
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://logs.uw-bedrijf.com).
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Graylog cloud hosting oplossing van Stackhero te proberen!

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).