ホームページ >ウェブフロントエンド >jsチュートリアル >Errsole を使用した Node.js アプリケーションのカスタム ロガーの作成

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

WBOY
WBOYオリジナル
2024-08-24 11:11:33612ブラウズ

すべての堅牢なログ システムは、コレクター、ストレージ、ビジュアライザーという 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 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');

コード内で 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 にアクセスしてください。

以上がErrsole を使用した Node.js アプリケーションのカスタム ロガーの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。