Graylog: Node.js logų siuntimas į Graylog naudojant Winston GELF paketą

Ši dokumentacija yra Naudojimas su Node.js vadovo dalis. Visą vadovą rasite čia: Kaip siųsti logus iš Node.js į Graylog.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Graylog cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtrauktas neribotas ir dedikuotas SMTP el. pašto serveris.
  • Lengvi atnaujinimai vienu paspaudimu.
  • Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://logs.jusu-imone.com).
  • Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Graylog cloud hosting sprendimą!

warning Rekomenduojama naudoti graylog2 paketą, nebent Winston jau yra jūsų projekte. Tokiu atveju galite naudoti winston-gelf.

Norėdami įdiegti Winston GELF paketą, vykdykite:

npm install winston-gelf

Jei Winston dar nėra jūsų projekte, pridėkite jį su:

npm install winston

Pagrindinė konfigūracija atrodytų taip:

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

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winstonGelf({
      // Visas gelfPro parinktis rasite čia: https://www.npmjs.com/package/gelf-pro
      gelfPro: {
        fields: {
          env: process.env.NODE_ENV || 'development'
        },
        adapterName: 'udp',
        adapterOptions: {
          host: '<XXXXXX>.stackhero-network.com', // Pakeiskite į savo Graylog domeną
          port: 12201,
        }
      }
    })
  ]
});

// Informacinio log'o pavyzdys
logger.info('This is a log information');

// Klaidos log'o pavyzdys
try {
  throw Error('This is an example error');
}
catch(error) {
  logger.warn({ message: 'Error triggered', error });
}

Nepamirškite sukonfigūruoti savo Graylog input (detalės žemiau).