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

Function Compute:ロギング

最終更新日:Jul 19, 2024

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

ログの印刷

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

ログレベル

setLevelメソッドを呼び出して、印刷するログのレベルを指定できます。 次の表に、ログレベルを重大度の降順で示します。

ログレベル

レベル

インターフェイス

説明

緊急事態

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

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

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

<?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

上记の例では, ログ印刷机能を标准出力と标准エラーを出力する他の机能に置き换えることもできます。

ログの表示

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