연습 - 로깅

완료됨

이 연습에서는 샘플 애플리케이션의 로그를 보기 위한 연습을 살펴봅니다.

스트리밍 로그 연습

테일 로그

기존 Azure Cloud Shell 창에서 다음 명령을 사용하여 애플리케이션 인스턴스 로그를 확인합니다.

az spring app logs --name customers-service

중요합니다

원래 Azure Cloud Shell 창을 닫았거나 로컬 개발 환경에서 명령을 실행하려면 리소스 그룹 및 Azure Spring Apps 서비스 이름을 지정해야 합니다.

az spring app logs --name customers-service --resource-group <resource group name> --service <service >instance name>

이 명령은 다음과 유사한 로그를 반환합니다.

...
2021-04-23 09:13:59.516  INFO [customers-service,,,] 1 --- [           main] o.s.s.p.c.CustomersServiceApplication    : Started CustomersServiceApplication in 48.032 seconds (JVM running for 79.933)
2021-04-23 09:14:05.385  INFO [customers-service,,,] 1 --- [nio-1025-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-04-23 09:14:05.385  INFO [customers-service,,,] 1 --- [nio-1025-exec-2] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-04-23 09:14:05.410  INFO [customers-service,,,] 1 --- [nio-1025-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 25 ms
...

계속해서 새 로그 스트림

기본적으로 az spring app logs는 앱 콘솔에 스트리밍된 기존 로그만 인쇄한 다음 종료됩니다. 새 로그를 스트리밍하려면 -f(--follow)를 추가합니다.

az spring app logs --name customers-service -f

오류 및 경고 연습

다음으로, 신속하게 디버그하고 근본 원인을 찾을 수 있는 방법의 값을 표시하는 오류를 만듭니다.

  1. customers-service를 열고 로그를 따릅니다.

    az spring app logs --name customers-service -f
    
  2. 그런 다음 웹 브라우저에서 새 창을 열고 다음 명령으로 경고를 트리거합니다(“<spring-cloud-name>”을 Spring Apps 인스턴스의 이름으로 바꿈).

    https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/George
    
  3. 이전 URL에 액세스하면 경고를 트리거합니다. 변수 "George"를 숫자로 변환하여 고객을 검색할 수 없기 때문입니다. 다음과 유사한 경고가 표시됩니다.

    로그 경고가 있는 Azure Cloud Shell 스크린샷.

  4. 이 경고를 해결하려면 웹 브라우저에서 다음 URL로 이동하여 고객 ID로 고객을 검색합니다("<spring-apps-name>"을 Spring 앱 인스턴스 이름으로 바꿔야 함):

    https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/1