Übung: Protokollierung
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.
Öffnen Sie
customers-service
, und folgen Sie den Protokollen:az spring app logs --name customers-service -f
Ö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
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:
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