orangeliner.net BLOG logo

 タグ:Python

1 / 1 (全 3 件)

[GCP] Cloud Functions でレベル付きログを出力する一番簡単な方法

GCPで提供されているFaaS (Functions as a Service)、Cloud Functions ではちょっとしたスクリプトやバッチ(「関数」と呼ばれる)をクラウド上で実行でき、十分な無料枠も準備されているので、個人ユースでもとても便利なサービスです。

Cloud Functions で関数を実行した結果を確認するために、GCPのログ管理サービス Cloud Logging へログを出力できます。
CLoud Logging に保管されたログは GCP のスマホアプリで確認したりもできますが、全てのログを表示すると確認が不要なログも多く表示されてしまい、必要な情報が埋もれてしまいます。

そこで、構造化ログ として出力することで、ログ毎にレベルを設定し、絞り込みをして必要なログのみを表示させることが可能です。

ログの作成、表示、処理 - Google Cloud Functions に関するドキュメント
しかし、GCPの公式ドキュメントを読むと Cloud Logging クライアント ライブラリ とか Logging API とか書いてあってよく分からなくなった(あとで使い分けを理解した)ので、サクッと使えるように一番簡単な方法をまとめてみました。

※ Cloud Functions だけでなく、Cloud Run でも同じ方法が使えるようです。

結論

標準出力にJSONで出力する

1
{"severity":"INFO","message":"This is info message."}

"severity" の値にログレベル"message" の値にログテキストを指定する。
GCP側で "severity" の値を読み取って、ログにレベルを設定してくれる。


PythonでJSONを整形&記法チェック

Pythonの標準ライブラリである「JSONエンコーダ・デコーダ」のCLIを使って、JSONデータの整形表示や記法が正しいかをサクッとチェックすることができます。

LinuxやPowerShell等で、Pythonを実行出来る環境があればOK。
Pythonのプログラム外でも簡単に実行出来て便利です。


Python 3 開発環境構築 (Windows & VS Code)

Windows環境での Python 3 開発環境構築手順 自分用まとめ

  • Windows 10 Pro バージョン 2004
  • Python 3.7.8


広告募集中!
1 / 1 (全 3 件)