演習 - ログ
この演習では、サンプル アプリケーションのログを表示する演習を見ていきます。
ストリーミング ログの演習
ログ末尾
既存の 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
エラーと警告の演習
次に、素早くデバッグして根本原因を見つけることができることの価値を示すために、エラーを作成します。
customers-service
を開き、ログを確認します。az spring app logs --name customers-service -f
次に、Web ブラウザーで新しいウィンドウを開き、次のコマンドを使用して警告をトリガーします ("<spring-apps-name>" は使用中の Spring Apps インスタンスの名前に置き換えてください)。
https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/George
上記の URL へのアクセスによって警告がトリガーされます。これは、変数 "George" を数値にキャストして顧客を検索することができないためです。 次のような警告が表示されるはずです。
この警告を解決するには、Web ブラウザーで次の URL に移動し、顧客 ID を使用して顧客を検索します ("<spring-apps-name>" を使用中の Spring Apps インスタンスの名前に置き換えるのを忘れないでください)。
https://<spring-apps-name>-api-gateway.azuremicroservices.io/api/customer/owners/1