Graylog: Winston GELFパッケージを使ってNode.jsログをGraylogへ送信する

このドキュメントはNode.jsでの利用方法ガイドの一部です。完全なガイドはこちらからご覧いただけます:Node.jsからGraylogへログを送信する方法

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供する、すぐに使えるGraylogクラウドソリューションを提供しています。

  • 無制限で専用のSMTP メールサーバーが含まれています。
  • ワンクリックで簡単にアップデート
  • HTTPSで保護されたカスタマイズ可能なドメイン名(例: https://logs.your-company.com)。
  • プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ

時間を節約し、生活を簡素化:StackheroのGraylogクラウドホスティングソリューションを試すのに5分しかかかりません!

warning プロジェクトにすでにWinstonが含まれていない限り、graylog2パッケージの利用を推奨します。Winstonを利用している場合は、winston-gelfに置き換えてください。

Winston GELFパッケージをインストールするには、以下を実行します。

npm install winston-gelf

Winstonがまだプロジェクトに含まれていない場合は、以下で追加できます。

npm install winston

基本的なセットアップ例は以下の通りです。

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

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winstonGelf({
      // gelfProの全オプションはこちらを参照: https://www.npmjs.com/package/gelf-pro
      gelfPro: {
        fields: {
          env: process.env.NODE_ENV || 'development'
        },
        adapterName: 'udp',
        adapterOptions: {
          host: '<XXXXXX>.stackhero-network.com', // ご自身のGraylogドメインに置き換えてください
          port: 12201,
        }
      }
    })
  ]
});

// 情報ログの例
logger.info('This is a log information');

// エラーログの例
try {
  throw Error('This is an example error');
}
catch(error) {
  logger.warn({ message: 'Error triggered', error });
}

Graylogのインプット設定を忘れずに行ってください(詳細は下記参照)。