メインコンテンツへスキップ
ClickStack の NestJS インテグレーションでは、ロガーを作成するか、デフォルトの ロガーを使用して ClickStack にログを送信できます (nest-winston を利用) 。 このガイドで統合される項目:
✅ ログ✖️ メトリクス✖️ トレース
メトリクスや APM/トレースも送信するには、対応する言語の インテグレーションをアプリケーションに追加する必要があります。

はじめに

ルートの AppModuleHyperDXNestLoggerModule をインポートし、forRoot() メソッドで設定します。
その後、HDX_LOGGER_MODULE_PROVIDER の注入トークンを使って、プロジェクト 全体で winston インスタンスを注入できるようになります。

Nest のロガーを置き換える (ブートストラップ時を含む)

重要この方法では依存性注入を使わなくなるため、forRootforRootAsync は不要で、使用すべきではありません。メインモジュールから削除してください。
依存性注入を使用する場合、1 つだけ小さな欠点があります。Nest はまずアプリケーションをブートストラップし (モジュールやプロバイダーのインスタンス化、依存関係の注入など) 、その処理中は HyperDXNestLogger のインスタンスがまだ利用できません。そのため、Nest は内部ロガーにフォールバックします。 これに対する 1 つの解決策は、createLogger 関数を使ってアプリケーションのライフサイクル外でロガーを作成し、それを NestFactory.create に渡すことです。すると Nest は、カスタムロガー (createLogger メソッドが返すものと同じインスタンス) を Logger クラスでラップし、すべての呼び出しをそこに転送します。 main.ts ファイルでロガーを作成します
メインモジュールで Logger サービスを提供するように変更します。
次に、@nestjs/common の Logger を型ヒントとして指定するだけで、ロガーを簡単に注入できます。
最終更新日 2026年7月2日