Alıştırma - günlüğe kaydetme

Tamamlandı

Bu alıştırmada örnek uygulamanızın günlüklerini görüntüleme alıştırmalarına göz atacağız.

Akış günlükleri alıştırması

Kuyruk günlüğü

Mevcut Azure Cloud Shell pencerenizde aşağıdaki komutu kullanarak uygulama örneği günlüğünü görüntüleyin:

az spring app logs --name customers-service

Önemli

Özgün Azure Cloud Shell penceresini kapattıysanız veya komutları yerel geliştirme ortamınızda çalıştırmak istiyorsanız kaynak grubunuzu ve Azure Spring Apps hizmet adını belirtmeniz gerekir:

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

Bu komut aşağıdakine benzer günlükleri döndürür:

...
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
...

Yeni günlükleri sürekli akışla aktarma

Varsayılan olarak, az spring app logs yalnızca uygulama konsoluna akışı yapılan mevcut günlükleri yazdırır ve sonra çıkar. Yeni günlüklerin akışını yapmak istiyorsanız ekleyin -f (--follow):

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

Hatalar ve uyarılar alıştırması

Ardından, kök nedenini nasıl hızlı bir şekilde hata ayıklayıp bulabileceğinizin değerini göstermek için bir hata oluşturacağız.

  1. Günlükleri açın customers-service ve izleyin:

    az spring app logs --name customers-service -f
    
  2. Ardından, bir web tarayıcısında yeni bir pencere açın ve aşağıdaki komutla bir uyarı tetikleyin ("<spring-apps-name>" yerine spring apps örneğinizin adını yazın):

    https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/George
    
  3. Yukarıdaki URL'ye erişmek bir uyarı tetikler çünkü "George" değişkeni bir müşteriyi aramak için bir sayıya aktarılamaz. Aşağıdakine benzer bir uyarı almanız gerekir:

    Günlük uyarısı içeren Azure Cloud Shell'in ekran görüntüsü.

  4. Bu uyarıyı çözmek için bir web tarayıcısında aşağıdaki URL'ye giderek müşteri kimliğini kullanarak müşteriyi arayın ("<spring-apps-name>" yerine spring apps örneğinizin adını eklemeyi unutmayın):

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