ログと指標の表示

ロギングと指標は、コードのデバッグとモニタリングに重要なツールです。App Hosting を使用すると、ウェブアプリを支える Google Cloud サービス(Cloud RunCloud Build、Cloud CDN)のログと指標をすばやく確認できます。

Node.js の console.log などの標準ロギング構文を使用して、ログエントリを Cloud Logging に書き込むことができます。

コンソールで使用状況を表示する

各バックエンドには [概要] タブがあり、過去 7 日間のアプリのトラフィック(リクエスト数)とエラー率の概要が表示されます。

各バックエンドには [使用状況] タブもあり、アプリのアクティビティと使用状況に関する複数の使用状況グラフが表示されます。表示されるデータには、CDN 帯域幅とリクエスト、Cloud Run の CPU とメモリの使用率などがあります。

Cloud Run のその他の使用率の指標(CPU 使用率やメモリ使用率など)は、Google Cloud コンソールで確認できます。

コンソールでログを表示する

ロールアウトの Firebase コンソール コンテキスト メニュー(右上のその他メニュー)から、Cloud Run リビジョンの詳細とエラー、ビルドログをすばやく確認できます。

これらのログには、App Hosting デプロイのデバッグに役立つ情報が含まれています。たとえば、package.json が見つからない場合は、Cloud Run ログに記録されます。

ビルドログにはビルド出力が表示されるため、フレームワークの構成でエラーが発生したのか、App Hosting 構成でエラーが発生したのかを判断できます。また、基本的な runConfig 設定も表示され、設定がないときや apphosting.yaml が存在しないときに示されます。

> next build

   ▲ Next.js 14.1.4
   -   Environments: .env

   ...

Route (app)                              Size     First Load JS
┌ λ /                                    4.79 kB         214 kB
├ λ /_not-found                          882 B          85.3 kB
└ λ /restaurant/[id]                     5.28 kB         207 kB
+   First Load JS shared by all            84.4 kB
  ├ chunks/69-6678c81190a8fe82.js        29 kB
  ├ chunks/fd9d1056-51920e345d2966e8.js  53.4 kB
  └ other shared chunks (total)          1.98 kB

ログを Cloud Logging に書き込む

カスタム イベントをログに記録する場合は、サーバー レンダリング コードが実行される Cloud Run から Cloud Logging に書き込むことができます。console.logconsole.error などの標準の JavaScript ロギング呼び出しを使用します。たとえば、Next.js ルート ハンドラのコードからカスタム エントリを記述するには、次のようにします。

  • console.log() コマンドのログレベルは INFO です。
  • console.info() コマンドのログレベルは INFO です。
  • console.warn() コマンドのログレベルは ERROR です。
  • console.error() コマンドのログレベルは ERROR です。
  • 内部システム メッセージのログレベルは DEBUG です。

console.log は、アプリのサーバー レンダリング コードで Cloud Logging にパイプされます。静的レンダリングに関連するイベントは Cloud Build ログに送信され、サーバー レンダリングは Cloud Run ログに送信されます。

サーバーエラーを確認する

Cloud Error Reporting は、App Hosting Cloud Run インスタンスのエラーを統合します。必要に応じて、新しいエラーが発生したときに通知するように Cloud Error Reporting を構成できます。