「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Errsole を使用した Node.js アプリケーションのカスタム ロガーの作成

Errsole を使用した Node.js アプリケーションのカスタム ロガーの作成

2024 年 8 月 26 日に公開
ブラウズ:391

すべての堅牢なログ システムは、コレクター、ストレージ、ビジュアライザーという 3 つの主要なコンポーネントで構成されています。 Winston や Pino などの一般的な Node.js ログ モジュールは、ログ コレクターとしてのみ機能します。ただし、Errsole は以下を含む完全なロギング ソリューションを提供します。

  1. ログ ストレージ: ログをファイルまたはアプリケーションのデータベースに保存します。

  2. 組み込みダッシュボード: 組み込みダッシュボードを使用してログを表示、フィルタリング、検索します。

  3. アラート: 重大なエラーに関するリアルタイム通知を受け取ります。

Errsole とその依存関係のインストール

Errsole を使用するには、選択したデータベースに基づいたストレージ モジュールとともに Errsole モジュールをインストールする必要があります。さまざまなストレージ オプションのインストール手順は次のとおりです:

ファイルストレージ:

npm install errsole errsole-sqlite

モンゴDB:

npm install errsole errsole-mongodb

MySQL:

npm install errsole errsole-mysql

PostgreSQL:

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 のログ レベルについて

Errsole ロガー関数は、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');

error: エラーをログに記録するように特別に設計されています。

logger.error(new Error('An error occurred'));

warn: 警告メッセージをログに記録します。

logger.warn('This is a warning message');

debug: デバッグ情報をログに記録します。通常、開発中のトラブルシューティングに使用されます。

logger.debug('Debugging information');

コード内で logger.alert を使用する場合

Node.js アプリケーションがクラッシュするたびに、Errsole は開発チームにリアルタイムの通知を送信します。この通知には、エラー メッセージ、アプリ名、環境名、サーバー名が含まれます。

Creating a Custom Logger for a Node.js Application using Errsole

この通知リストに重大なエラーを追加するには、コード内で logger.alert を使用します。ただし、開発者に通知が殺到するのを防ぐために、過度に使用しないでください。支払いの失敗やデータベースのクエリの失敗などの重大なエラーの場合に使用します。エラー オブジェクトをアラート関数に配置し、すべてのコンテキスト情報をメタ関数に追加します。これにより、開発者は重大なエラーを簡単にデバッグできるようになります。

logger.meta({ reqBody: req.body, queryResults: results }).alert(err);

結論

Node.js アプリケーションに完全なログ ソリューションを組み込むことで、堅牢なログ管理と効率的なデバッグが保証されます。 Errsole は、ログ ストレージ、組み込みダッシュボード、リアルタイム通知を提供し、完全なログ ツールとなります。

Errsole の使用を開始するには、https://github.com/errsole/errsole.js にアクセスしてください。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/errsole/creating-a-custom-logger-for-a-nodejs-application-using-errsole-6bo?1 侵害がある場合は、study_golang@163 までご連絡ください。 .comを削除してください
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3