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

Function Compute:ロギング

最終更新日:Aug 30, 2024

このトピックでは、PHPランタイムでログを印刷および表示する方法について説明します。

ログ印刷

Function Computeは、組み込みのロガーモジュールを提供します。 関数が組み込みランタイムを使用して作成されている場合、$GLOBALS['fcLogger'] を使用して組み込みロガーモジュールを使用してログを印刷し、サービスの作成時に指定したSimple Log Service Logstoreに印刷されたログを収集できます。 関数が別の方法を使用して作成されている場合は、PHPが提供する方法を使用してログを印刷できます。

ログレベル

setLevelメソッドを呼び出して、印刷するログのレベルを指定できます。 次の表は、高から低までの重大度ごとのログレベルを示しています。

ログレベル

レベル

API 操作

説明

緊急事態

600

$logger-> 緊急

緊急ログ

アラート

550

$logger->alert

アラートログ

CRITICAL

500

$logger->critical

重大な警告

ERROR

400

$logger-> エラー

エラーメッセージ

WARNING

300

$logger-> 警告

警告

通知

250

$logger-> 通知

通知と一般ログ

INFO (デフォルトの重大度)

200

$logger-> 情報

出力の詳細

デバッグ

100

$logger-> デバッグ

ログのデバッグ

組み込みログモジュールを使用してログを印刷

この方法を使用してログを印刷する場合、各ログには時間、リクエストID、ログレベルなどの情報が含まれます。 次のサンプルコードは、ログを印刷する方法を示しています。

<?php

function handler($event, $context) {
  $logger = $GLOBALS['fcLogger'];
  $logger->info('hello world');
  $logger->critical('world hello');

  $logger->setLevel(500);
  $logger->info('hello world 2');
  $logger->critical('world hello 2');
  return 'hello world';
}

上記の例では、デフォルトのログレベルを使用して2つのログを出力し、デフォルトのログレベルを変更して1つのログを出力しています。

上記のコードを実行すると、次のログが出力されます。

FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxx
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [INFO] hello world
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello 2
\nFC Invoke End RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxx

ログ印刷機能を使用してログを印刷

printコマンドを使用してログを印刷すると、ログの内容が印刷されます。 サンプルコード:

<?php

function handler($event, $context) {
  var_dump("abcd");
  echo "abcd 2\n";
  fwrite(STDERR, "error\n");
  return 'hello world';
}

サンプル出力:

FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxx
/code/index.php:4:
string(4) "abcd"
abcd 2
error
\nFC Invoke End RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxx

上記の例のログ印刷機能を、標準出力および標準エラーメッセージを出力する他の機能に置き換えることができます。

ログの表示

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