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のインプット設定を忘れずに行ってください(詳細は下記参照)。