로그 및 측정항목 보기

로깅과 측정항목은 코드 디버깅과 모니터링을 하는 데 중요한 도구입니다. App Hosting은 웹 앱을 지원하는 Google Cloud 서비스인 Cloud Run, Cloud Build, Cloud CDN의 로그 및 측정항목을 볼 수 있는 빠른 액세스를 제공합니다.

Node.js의 console.log와 같은 표준 로깅 구문을 사용하면 Cloud Logging에 로그 항목을 작성할 수 있습니다.

콘솔에서 로그 보기

출시하려는 Firebase Console 컨텍스트 메뉴 (오른쪽 상단의 점 3개 메뉴)에서 빠르게 액세스하여 Cloud Run 버전 세부정보 및 오류, Cloud Build 로그를 볼 수 있습니다.

이 로그에는 App Hosting 배포를 디버깅하는 데 유용한 정보가 포함됩니다. 예를 들어 package.json을 찾을 수 없는 경우 Cloud Run 로그가 기록됩니다.

Cloud Build 로그에 빌드 출력이 표시되므로 프레임워크의 구성 또는 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() 명령어의 로그 수준은 정보입니다.
  • console.info() 명령어의 로그 수준은 정보입니다.
  • console.warn() 명령어의 로그 수준은 오류입니다.
  • console.error() 명령어의 로그 수준은 오류입니다.
  • 내부 시스템 메시지의 로그 수준은 디버그입니다.

console.log는 앱의 서버 렌더링 코드에서 Cloud Logging으로 전달됩니다. 정적 렌더링과 관련된 이벤트는 Cloud Build 로그로 전송되고 서버 렌더링은 Cloud Run 로그로 전송됩니다.

콘솔에서 측정항목 보기

Firebase Console에서 웹 앱을 지원하는 Cloud Run 서비스의 트래픽 및 사용률 측정항목에 액세스할 수 있습니다.

현재 출시의 Firebase Console 컨텍스트 메뉴 (오른쪽 상단의 점 3개 메뉴)에서 Cloud Run 측정항목 보기를 선택합니다. 앱의 오류율을 파악하기 위한 응답 코드별 분석을 포함하여 Cloud Run 서비스에 도달하는 요청 수를 모니터링할 수 있습니다.

또한 요청 지연 시간과 컨테이너 사용률 측정항목 (예: CPU 사용률 및 메모리 사용률)을 확인하여 앱의 성능과 확장성을 파악할 수 있습니다.

서버 오류 보기

Cloud Error Reporting은 App Hosting Cloud Run 인스턴스의 오류를 통합합니다. 원하는 경우 새로운 오류가 발생하면 알림을 보내도록 Cloud Error Reporting을 구성할 수 있습니다.