Übung: Protokollierung

Abgeschlossen

In dieser Übung sehen Sie sich Übungen dafür an, wie Protokolle Ihrer Beispielanwendung angezeigt werden.

Übung zum Streamen von Protokollen

Anzeigen von Protokollen

Mit dem folgenden Befehl können Sie im vorhandenen Azure Cloud Shell-Fenster das Anwendungsinstanzprotokoll anzeigen:

az spring app logs --name customers-service

Wichtig

Wenn Sie das ursprüngliche Azure Cloud Shell-Fenster geschlossen haben oder die Befehle in Ihrer lokalen Entwicklungsumgebung ausführen möchten, müssen Sie Ihre Ressourcengruppe und den Dienstnamen Ihrer Azure Spring Apps-Instanz angeben:

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

Dieser Befehl gibt Protokolle zurück, die in etwa wie folgt aussehen:

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

Fortlaufendes Streamen neuer Protokolle

Standardmäßig gibt az spring app logs nur vorhandene Protokolle aus, die an die App-Konsole gestreamt werden, und wird dann beendet. Wenn Sie neue Protokolle streamen möchten, fügen Sie -f hinzu (--follow):

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

Übung zu Fehlern und Warnungen

Als Nächstes erstellen Sie einen Fehler, um sich den Mehrwert davon zu verdeutlichen, Fehler schnell debuggen und die Grundursache ermitteln zu können.

  1. Öffnen Sie customers-service, und folgen Sie den Protokollen:

    az spring app logs --name customers-service -f
    
  2. Öffnen Sie als Nächstes in einem Webbrowser ein neues Fenster, und lösen Sie mit dem folgenden Befehl eine Warnung aus (ersetzen Sie <spring-apps-name> dabei durch den Namen Ihrer Spring Apps-Instanz):

    https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/George
    
  3. Beim Zugriff auf die oben stehende URL wird eine Warnung ausgelöst, da die Variable „George“ nicht in eine Zahl umgewandelt werden kann, um nach einem Kunden zu suchen. Die Warnung sollte in etwa wie folgt aussehen:

    Screenshot: Azure Cloud Shell mit Protokollwarnung

  4. Um diese Warnung zu beheben, wechseln Sie in einem Webbrowser zur folgenden URL, um mithilfe der Kunden-ID nach dem Kunden zu suchen (denken Sie daran, den <spring-apps-name> durch den Namen Ihrer Spring Apps-Instanz zu ersetzen):

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