ホームページ >ウェブフロントエンド >jsチュートリアル >Errsole を使用した Node.js アプリケーションのカスタム ロガーの作成
すべての堅牢なログ システムは、コレクター、ストレージ、ビジュアライザーという 3 つの主要なコンポーネントで構成されています。 Winston や Pino などの一般的な Node.js ログ モジュールは、ログ コレクターとしてのみ機能します。ただし、Errsole は、以下を含む完全なログ ソリューションを提供します。
ログ ストレージ: ログをファイルまたはアプリケーションのデータベースに保存します。
組み込みダッシュボード: 組み込みダッシュボードを使用してログを表示、フィルタリング、検索します。
アラート: 重大なエラーに関するリアルタイム通知を受け取ります。
Errsole を使用するには、選択したデータベースに基づいたストレージ モジュールとともに Errsole モジュールをインストールする必要があります。さまざまなストレージ オプションのインストール手順は次のとおりです:
npm install errsole errsole-sqlite
npm install errsole errsole-mongodb
npm install errsole errsole-mysql
npm install errsole errsole-postgres
実際の Node.js プロジェクトには、複数のファイルがあります。プロジェクトのすべてのファイルで Errsole ロガーを使用するには、logger.js ファイルを作成し、その中で Errsole を初期化します。
const errsole = require('errsole'); const ErrsoleSQLite = require('errsole-sqlite'); errsole.initialize({ storage: new ErrsoleSQLite('/tmp/logs.sqlite') }); module.exports = errsole;
これで、プロジェクト内のすべてのファイルに logger.js ファイルをインポートし、それを使用してログを記録できます。
const logger = require('./logger'); // Example usage logger.info('This is an informational message.'); logger.error('This is an error message.');
Errsole Logger 関数は、console.log と同じ引数を受け取ります。 1 つ以上の文字列、オブジェクト、または変数をカンマで区切って指定できます。さらに、meta 関数を使用してログ メッセージにメタデータを添付できます。このメタデータには、HTTP リクエストやデータベース クエリ結果などのコンテキスト情報を指定できます。
logger.meta({ reqBody: req.body, queryResults: results }).error(err); logger.meta({ email: req.body.email }).log('User logged in');
Errsole Logger は、アラート、エラー、警告、情報、デバッグの 5 つのログ レベルの機能を提供します。
log / info: メッセージまたは情報を記録するために使用します。
logger.log('Logging a message'); logger.log('Multiple', 'arguments', 'are supported'); logger.log('Logging with a variable:', var1); logger.log(new Error('An error occurred')); logger.log('Logging with an error object:', errorObject);
alert: メッセージをログに記録し、電子メールや Slack などの設定されたチャネルに通知を送信します。
logger.alert('Alert! Something critical happened');
エラー: エラーをログに記録するように特別に設計されています。
logger.error(new Error('An error occurred'));
warn: 警告メッセージをログに記録します。
logger.warn('This is a warning message');
debug: デバッグ情報をログに記録します。通常、開発中のトラブルシューティングに使用されます。
logger.debug('Debugging information');
Node.js アプリケーションがクラッシュするたびに、Errsole は開発チームにリアルタイムの通知を送信します。この通知には、エラー メッセージ、アプリ名、環境名、サーバー名が含まれます。
この通知リストに重大なエラーを追加するには、コード内で logger.alert を使用します。ただし、開発者に通知が殺到するのを防ぐために、過度に使用しないでください。支払いの失敗やデータベースのクエリの失敗などの重大なエラーの場合に使用します。エラー オブジェクトをアラート関数に配置し、すべてのコンテキスト情報をメタ関数に追加します。これにより、開発者は重大なエラーを簡単にデバッグできます。
logger.meta({ reqBody: req.body, queryResults: results }).alert(err);
Node.js アプリケーションに完全なログ ソリューションを組み込むことで、堅牢なログ管理と効率的なデバッグが保証されます。 Errsole は、ログ ストレージ、組み込みダッシュボード、リアルタイム通知を提供し、完全なログ ツールとなります。
Errsole の使用を開始するには、https://github.com/errsole/errsole.js にアクセスしてください。
以上がErrsole を使用した Node.js アプリケーションのカスタム ロガーの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。