このトピックでは、Pythonランタイムでログを印刷および表示する方法について説明します。
ログの印刷
関数によって標準出力 (stdout) に出力されるログコンテンツは、サービスの作成時に指定されたLogstoreに格納されます。 次のいずれかの方法でログを印刷できます。
ロギングモジュールを使用してログを印刷する
ログモジュールを使用してログを印刷する場合、各ログには時間、リクエストID、ログレベルなどの情報が含まれます。 リクエストIDは、エラーが発生したときにログを見つけるのに役立ちます。 サンプルコード:
import logging
def handler(event, context):
logger = logging.getLogger()
logger.info('hello world')
return 'done'
上記のコードを実行すると、次のログが出力されます。
2017-07-05T05:13:35.920Z a72df088-f738-cee3-e0fe-323ad****e5 [INFO] hello world
printコマンドを使用してログを印刷する
printコマンドを使用してログを印刷すると、ログの内容が印刷されます。 サンプルコード:
def handler(event, context):
print ('hello world')
return 'done'
上記のコードを実行すると、次のログが出力されます。
hello world
context.getLoggerを使用してログを印刷する
関数のインスタンス同時実行性が1より大きい場合、1つの関数インスタンスが複数のリクエストを同時に処理できます。 この場合、context.getLoggerを使用してログを印刷することを推奨します。 このように、各同時リクエストのログは、リクエストIDを使用して区別できます。 サンプルコード:
def handler(event, context):
context.getLogger().info("hello world")
return 'done'
上記のコードを実行すると、次のログが出力されます。
2022-07-13 10:26:02 6785e433-497e-4c4a-a81a-2d4096d1**** [INFO] hello world
ログの表示
関数の実行後、関数の詳細ページの [ログ] タブでログを表示できます。 詳細については、「関数呼び出しログの表示」をご参照ください。