すべてのプロダクト
Search
ドキュメントセンター

Function Compute:ロギング

最終更新日:Aug 30, 2024

このトピックでは、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

ログの表示

関数の実行後、関数の詳細ページの [ログ] タブでログを表示できます。 詳細については、「関数呼び出しログの表示」をご参照ください。