注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
詳細なログ情報にアクセスするには、特定の実行でログの詳細を表示オプションを選択した後、詳細ビューに移動します。
サービスログには、次の情報が含まれます。
INFO、WARN、ERROR、DEBUG、TRACE のメッセージ。
トレースとサービスログを閲覧するには、管理者が該当するプロジェクトのログアクセスを有効にする必要があります。ユーザーは、過去24時間以内の自身の実行ログに常にアクセスできます。ただし、CBAC スタックでは、トレースとサービスログを閲覧するためにログアクセスを有効にする必要があります。
特定のログレベルで絞り込むには、テーブル上部のログレベルセレクターを使用します。

利用可能なログレベル:
ログエントリーの詳細をすべて表示するには、コンテンツフィールドを選択します。

効果的なログ出力は、問題を迅速にデバッグし、本番環境での関数の動作を理解するのに役立ちます。次のベストプラクティスに従ってください。
何が起きたかを理解するのに役立つ識別子や関連データを含めることを推奨します。
Copied!1 2 3 4 5// TypeScript v1 の例 - 適切なログ記録の方法 console.log("Processing order", orderId, "for user", userId); // 関連する ID を含めます console.log("Retrieved", results.length, "items from Ontology"); // 件数やメトリクスを含めます console.warn("Retry attempt", attemptNumber, "of", maxRetries, "for operation", operationId); // 再試行のコンテキストを含めます console.error("Failed to process order", orderId, "Error:", error.message); // エラーの詳細を含めます
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19import { logs } from "@opentelemetry/api-logs"; const logger = logs.getLogger("my-function"); // TypeScript v2 の例 - 適切なログ記録の方法 logger.emit({ severityText: "INFO", attributes: { LOG_MESSAGE: `Processing order ${orderId} for user ${userId}` }, // 関連する ID を含めます body: { orderId, userId }, }); logger.emit({ severityText: "WARN", attributes: { LOG_MESSAGE: `Retry attempt ${attemptNumber} of ${maxRetries} for operation ${operationId}` }, // 再試行のコンテキストを含めます body: { attemptNumber, maxRetries, operationId }, }); logger.emit({ severityText: "ERROR", attributes: { LOG_MESSAGE: `Failed to process order ${orderId}. Error: ${error.message}` }, // エラーの詳細を含めます body: { orderId, error: error.message }, });
セキュリティを損なうおそれのある機密情報は、決してログに出力しないでください。
Copied!1 2 3 4 5 6 7// ❌ このようにしないでください console.log("User credentials", username, password); console.log("API response", fullApiResponse); // 機密データが含まれている可能性があります // ✅ 代わりにこのようにします console.log("Authentication attempt for user", username); console.log("API call completed with status", response.status);