ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js のロギング: ローカル、テスト、実稼働

Node.js のロギング: ローカル、テスト、実稼働

Patricia Arquette
リリース: 2024-12-05 13:05:11
オリジナル
909 人が閲覧しました

Node.js Logging: Local, Testing, and Production

開発者の皆さん、こんにちは! Node.js にログインするための素晴らしいツールがあり、それはオープンソースです。ローカルでコーディングしている場合でも、複数のサーバーでテストを実行している場合でも、運用環境で実際のトラフィックを処理している場合でも、うまく機能します。 Errsole をローカル開発、テスト (複数のサーバーでも)、運用に使用する方法を見てみましょう。シンプルかつ実用的なものにしていきましょう!

エルソーレ

Errsole は、ログを管理するためのワンストップ ソリューションです。それにより次のことが可能になります:

  • すべてのログを自動的に収集します。
  • Web ダッシュボードでログを表示および検索します。
  • ログをローカルに保存するか、MongoDB、MySQL、PostgreSQL などの集中データベースに保存します。

ステップ 1: 地域開発

ローカルコーディングの場合、SQLite はシンプルで軽量な選択肢です。ログをファイルとしてコンピュータに保存できるため、セットアップが迅速かつ簡単になります。

npm install errsole errsole-sqlite
ログイン後にコピー
const express = require('express');
const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

// Initialize Errsole with SQLite
errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/local_logs.sqlite') // Change path if needed
});

const app = express();
app.get('/', (req, res) => res.send('Hello from Local!'));
app.listen(3000, () => console.log('App running on http://localhost:3000'));
ログイン後にコピー

ログの表示
ブラウザを開いて http://localhost:8001/ に移動し、ログを確認します。


ステップ 2: 複数のサーバーでのテスト

複数のテスト サーバーがある場合は、SQLite だけでは十分ではない可能性があります。 MongoDB/MySQL/Postgres を使用して、すべてのサーバーからのログを一元管理します。これにより、すべてが 1 か所で整理され、アクセスできるようになります。

npm install errsole errsole-mongodb
ログイン後にコピー

テスト用に MongoDB を構成する
中央の MongoDB インスタンスにログを記録するように Errsole を設定します。

const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
ログイン後にコピー
ログイン後にコピー
const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
ログイン後にコピー
ログイン後にコピー

テスト時のデバッグ ログ
トラブルシューティングには詳細なログを使用します:

errsole.debug('Test case started', { testName: 'LoginTest', server: 'server1' });
ログイン後にコピー

ログの表示
http://your-test-db-host:8001/ にあるすべてのテスト サーバーの Web ダッシュボードにアクセスします。

ダッシュボードのフィルターを使用して、特定のサーバーまたはテスト ケースからのログを検索します。


ステップ 3: 本番環境のセットアップ

実稼働環境では、高トラフィックを処理し、重大な問題に対して即座にアラートを提供できる信頼性の高いセットアップが必要です。 MongoDB は、運用環境での集中ログ作成に最適な選択肢です。

実稼働用に MongoDB を構成する

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs')
});
ログイン後にコピー

アラートを使用した例
本番環境での重大なエラーの通知を受け取る:

errsole.alert('Critical issue in production', { server: 'main-server' });
ログイン後にコピー

コンテキストのメタデータ
ログに追加の詳細を含めます:

errsole.meta({ userId: 123, action: 'purchase' }).log('Purchase completed');
ログイン後にコピー

すべての環境向けの統合セットアップ

1 つのセットアップでローカル環境、テスト環境、運用環境にわたるロギングを処理する方法は次のとおりです。

const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');
const ErrsoleMongoDB = require('errsole-mongodb');

let storage;

// Configure storage based on the environment
if (process.env.NODE_ENV === 'production') {
  storage = new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs');
} else if (process.env.NODE_ENV === 'testing') {
  storage = new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs');
} else {
  storage = new ErrsoleSQLite('/tmp/local_logs.sqlite');
}

errsole.initialize({ storage });
console.log(`Errsole is running in ${process.env.NODE_ENV || 'development'} mode.`);

ログイン後にコピー

環境変数

  • ローカル: NODE_ENV=開発を設定します。
  • テスト: NODE_ENV=testing を使用します。
  • 本番環境: NODE_ENV=production に設定します。

エルソーレを選ぶ理由

スケーラブルなログ: ローカル、テスト、実稼働のセットアップでシームレスに動作します。

一元化されたログ: MongoDB/MySQL/Postgres を使用して、複数のサーバーからのログを管理します。

Web ダッシュボード: ログを簡単に表示、検索、フィルターできます。

カスタム アラート: 重大な問題についてリアルタイムの通知を受け取ります。

Errsole は、あらゆる環境でログを管理するための究極のツールです。ローカル開発には SQLite から始めて、複数のサーバーにわたるテストのために SQL/NoSQL に拡張し、一元化されたログとアラートで本番環境の準備を整えます。シンプル、柔軟、そして強力です。

ロギングをレベルアップする準備はできましたか?エルソーレがあなたの背中を支えます。 ?

GitHub URL: https://github.com/errsole/errsole.js

以上がNode.js のロギング: ローカル、テスト、実稼働の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート