![Logging Made Easy: A Beginner's Guide to Winston in Node.js](https://img.php.cn/upload/article/000/000/000/173898997640513.jpg)
このチュートリアルでは、堅牢なnode.jsロギングライブラリであるWinstonを活用して、すべてがVultr Compute Serverでホストされている間、アプリケーションの監視とデバッグ機能を強化する方法を示しています。 重要なロギングのベストプラクティスをカバーし、さまざまなログレベルを処理するようにWinstonを構成します。
この記事は、世界中の150万人以上の顧客にスケーラブルなソリューションを提供する大手グローバルクラウドコンピューティングプラットフォームであるVultrが後援しています。 Vultrのクラウドコンピューティング、クラウドGPU、ベアメタル、クラウドストレージオプションを探索してください。
ロギングの重要性
アプリケーション開発には効果的なロギングが最重要です。その利点は次のとおりです
デバッグ:
効率的なトラブルシューティングのためのエラーと例外を特定します。
- モニタリング:プロアクティブな最適化のためのアプリケーションのパフォーマンス、リソース利用、およびユーザーインタラクションに関する洞察を得る。
- 監査:セキュリティ分析、変更追跡、規制のコンプライアンスのためのシステムイベントの包括的な記録を維持します。
最高のロギングプラクティス-
ロギングが成功するには、慎重に計画する必要があります。重要な原則には、次のものが含まれます
適切なログレベル:
異なるログレベル(エラー、ワーン、情報、デバッグ、冗長、愚かな)を利用して、重大度によってメッセージを分類します。
一貫したフォーマット:
タイムスタンプ、レベル、コンテキスト情報を含む標準化されたログメッセージ構造を維持します。
- 構造化されたデータ:監視ツールとの解析や統合を容易にするために、JSONのような構造化された形式を採用しています。
効率的なロギング:- 過度のロギングを避けて、パフォーマンスのオーバーヘッドとログクラッターを防ぐ。
データセキュリティ:
機密データ(パスワード、トークンなど)を慎重に保護するために慎重に処理します。
-
ウィンストン:セットアップとログレベル
ウィンストンは、次のログレベルをサポートしています:エラー、ワーン、情報、デバッグ、冗長、愚かなもの。 各レベルは異なる重大度を表します
- node.jsプロジェクトでWinstonを設定します
これらの手順に従って、Winstonをnode.jsアプリケーションに統合します。
-
vultrに展開:
バルトコンピューティングインスタンスを提供し、node.js.
をインストールします
sshアクセス:
SSHを介してサーバーに安全に接続します
システムの更新:- サーバーのパッケージを更新します。
プロジェクトのセットアップ:- 新しいプロジェクトディレクトリを作成し、ナビゲートして
:を初期化します
依存関係をインストール:ウィンストンとエクスプレスをインストール:
mkdir my-winston-project
cd my-winston-project
npm init -y
ログイン後にコピー
-
createapp.js
:次のコードで作成および編集app.js
npm install winston express
ログイン後にコピー
create:logger.js
作成と編集:logger.js
const express = require("express");
const logger = require("./logger"); // Import the logger
const app = express();
app.get("/", (req, res) => {
logger.debug("Hello, world");
logger.info("This is the home route.");
res.send("Logging Hello World..");
});
app.get("/event", (req, res) => {
try {
throw new Error("Not User!");
} catch (error) {
logger.error("Events Error: Unauthenticated", { error }); // Log error with details
}
});
app.listen(3000, () => {
logger.info("Server Listening On Port 3000");
});
ログイン後にコピー
-
ファイアウォールの構成:ポート3000で着信接続を許可します(を使用)。
ufw
- アプリケーションを実行します:
。を使用してアプリケーションを起動します
node app.js
バルトの展開を拡張します
これらの高度なバルト機能を探索してください:
contenerizing node.jsアプリケーション
- CI/CDパイプラインの実装
- nginx
を使用して複数のnode.jsアプリケーションの管理
- MERNアプリケーションの展開
-
結論
効果的なロギングは、アプリケーションの健康と保守性に不可欠です。 Winstonはプロセスを簡素化し、ログメッセージを管理するための柔軟で強力なソリューションを提供します。 WinstonとVultrのスケーラビリティを組み合わせることにより、堅牢で簡単に監視できるアプリケーションを構築できます。
以上が伐採が簡単になりました:node.jsのウィンストンの初心者向けガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。