みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Cloud Functionsのloggingを設定する

Cloud Functionsで快適にログを出力する方法をまとめました.

google-cloud-logging を使う

pythonの標準ライブラリにloggingがあります.これを置き換える形でGCPでログを出力可能な, GitHub - googleapis/python-logging を使うのが便利です.

Python Client for Cloud Logging — google-cloud-logging documentation

使い方はとてもシンプルです.

import logging
import google.cloud.logging
client = google.cloud.logging.Client()
client.get_default_handler()
client.setup_logging(log_level=logging.INFO)

を最初に実行するだけです.あとはいつものようにlogging.info()などと実行します.

Clientの認証

google.cloud.logging.Client()を実行する時に,ログ書き込み権限があるサービスアカウントのcredentialsを指定しなければなりません.

f:id:atsuhiro-me:20201207145755p:plain

client = google.cloud.logging.Client(
  credentials=credentials
)

setup_logging()の正体

handlers.pyを眺めると,import loggingして,よくある設定をする関数であることが分かります.