ホームページ > ウェブフロントエンド > CSSチュートリアル > node.jsアプリケーションにログイングを実装する方法pino-logger

node.jsアプリケーションにログイングを実装する方法pino-logger

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-03-19 09:52:11
オリジナル
124 人が閲覧しました

node.jsアプリケーションにログイングを実装する方法pino-logger

アプリケーション開発には効果的な伐採が重要です。アプリケーションの動作に関する洞察を提供し、デバッグを簡素化します。このチュートリアルでは、Pino Loggerを使用してNode.jsアプリケーションにロギングを実装する方法を示しています。これは、そのパフォーマンスと柔軟性で知られる人気のある選択肢です。

PINOでは、アプリケーションの流れに関する詳細情報や、ログを保存してファイルを分離する機能など、包括的なロギングが可能です。その広範なGithubコミュニティは、その信頼性をさらに強調しています。

このガイドがカバーしています:

  • ロギングレベルの構成。
  • JSON応答を含むオプションを含む、端末での読みやすさを改善するためのログ出力のカスタマイズ。
  • ログを専用ファイルに保存します。

最後に、ベストプラクティスとPINOを使用して、node.jsアプリケーションに堅牢なログを実装できます。

前提条件

先に進む前に、あなたが持っていることを確認してください:

  • サーバー側の開発のためのExpress.jsの経験。
  • 認証なしでレストAPIを構築することに精通しています。
  • コードエディターのコマンドラインツールまたは統合端子を使用した習熟度。

APIエンドポイントテストにPostmanのようなツールを使用することをお勧めします。

ステップ1:プロジェクトのセットアップ

このステップでは、Express.jsとMongooseを使用して基本的なnode.js Crudアプリケーションを作成します。このアプローチにより、ロギング機能が現実的なアプリケーションコンテキスト内で実装されます。

CRUDアプリケーションのセットアップについては、MongooseおよびMongodb AtlasでCRUD操作の実行に関するチュートリアルを参照してください。完了すると、Routesの作成、読み取り、更新、削除を備えたnode.jsアプリケーションが表示されます。

コードの変更時に再起動する自動サーバー用のnodemonをインストールします。

 NPMインストール-G  - フォースノデモン
ログイン後にコピー

-gフラグはグローバルにインストールし、 --forceは潜在的な競合を処理します。

ステップ2:Pinoのインストール

必要な依存関係をインストールします:Pino、Express-Pino-Logger、およびPino-Retty:

 NPMインストールPino Express-Pino-Logger Pino-Retty
ログイン後にコピー

ステップ3:ロガーサービスの作成

さまざまなログレベル(警告、エラー、情報など)のPino Loggerサービスを作成します。このサービスは、node.jsミドルウェアを使用してアプリケーションに統合されます。

servicesディレクトリを作成します。

 MKDIRサービス
ログイン後にコピー

次のコードを使用して、 loggerService.js内部services内のサービスを作成します。

 const pino = require( 'pino');
module.exports = pino({prettyprint:true});
ログイン後にコピー

これにより、かなりプリントされた出力を備えた基本的なロガーが作成されます。後の手順では、さらに構成をカバーします。

次に、 server.jsファイルで、Logger Serviceとexpress-pino-loggerインポートします。

 const expresspinologger = require( 'Express-Pino-Logger');
const logger = require( './ services/loggerservice');
ログイン後にコピー

ロガーサービスでexpress-pino-loggerを構成します。

 // ...
const loggermiddleware = expresspinologger({
  ロガー:ロガー、
  自動化:本当、
});

app.use(loggermiddleware);
// ...
ログイン後にコピー

autoLogging: trueには、ログにJSON応答が含まれます。

ルートハンドラー(例: foodRoutes.js )で、ロガーをインポートして使用します。

 const logger = require( '../ services/loggerservice');

// ...
app.get( "/food"、async(request、response)=> {
  logger.info( 'ルートアクセスを取得');
  // ...
});
// ...
ログイン後にコピー

サーバー( nodemon server.js )を再起動し、APIエンドポイントをテストします。ターミナルにログ出力が表示されます。

ステップ4:ログの構成

このステップでは、ロガーサービスのカスタマイズとログの読みやすさの向上に焦点を当てています。

カスタムログレベル

loggerService.jsでカスタムログレベルを定義します。

 // ...
const level = {
  HTTP:10、
  デバッグ:20、
  情報:30、
  警告:40、
  エラー:50、
  致命的:60、
};
// ...
ログイン後にコピー

loggerService.jspino構成を更新します。

 module.exports = pino({
  PrettyPrint:本当、
  CustomLevels:レベル、
  useonllycustomlevels:true、
  レベル: 'http'、
});
ログイン後にコピー

カスタムレベルでテストします(例: logger.http(...) )。自動分類を設定: server.jsでは、JSON応答が不要な場合はautoLogging: false

きれいな印刷

loggerService.jsでログフォーマットを強化する:

 module.exports = pino({
  CustomLevels:レベル、
  useonllycustomlevels:true、
  レベル: 'http'、
  PrettyPrint:{
    カラー化:本当、
    Levelfirst:本当、
    翻訳タイム: 'yyyy-dd-mm、h:mm:ss tt'、
  }、
});
ログイン後にコピー

改善されたログ出力を確認するには、もう一度テストします。

ステップ5:ログをファイルに保存します

ログをファイルに記述するには、 loggerService.jspino構成を変更します。

 module.exports = pino({
  CustomLevels:レベル、
  useonllycustomlevels:true、
  レベル: 'http'、
  PrettyPrint:{
    カラー化:本当、
    Levelfirst:本当、
    翻訳タイム: 'yyyy-dd-mm、h:mm:ss tt'、
  }、
}、pino.destination( `$ {__ dirname}/logger.log`));
ログイン後にコピー

APIをテストします。ログは、 servicesディレクトリのlogger.logに書き込まれます。

結論

このチュートリアルは、node.jsアプリケーションにピノロギングを実装するための包括的なガイドを提供しました。ベストプラクティスを覚えておいてください:コンテキスト情報、明確な目的、読み取り可能なフォーマットは、効果的なロギングの鍵です。高度な構成オプションについては、公式のPinoドキュメントを調べてください。

以上がnode.jsアプリケーションにログイングを実装する方法pino-loggerの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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