GCPロギングを使いPython(Flask)のログを管理


GCPロギングを使いPython(Flask)のログを管理

google-cloud-logging をインストール

$ pip install google-cloud-logging

ロギング設定

from google.cloud import logging


client = logging.Client()
logger = client.logger("pronichi")

ログ用の関数
severityはログレベル(INFO,NOTICE,ERROR etc...)
ログは環境変数、URI、任意メッセージを保存することにした
ensure_ascii=False を設定しないとコンソール表示が文字化け

def log_write(severity: str, uri: str, message: str):
    tmp = {"env": APP_ENV, "uri": uri, "message": message}
    tmp_json = json.dumps(tmp, ensure_ascii=False)
    logger.log_text(tmp_json, severity=severity)

スクリプトにログ追加

log_write("NOTICE", "/", "テスト")

ログ確認

GCPコンソールよりログ出力されたか確認

{
textPayload: "{"env": "prod", "uri": "/", "message": "テスト"}"
insertId: "1io3pqvgej50y6v"
resource: {2}
timestamp: "2021-02-24T16:15:50.363645648Z"
severity: "NOTICE"
logName: "projects/weekend-hackathon/logs/pronichi"
receiveTimestamp: "2021-02-24T16:15:50.363645648Z"
}

ログが出力できるようになりました
いいね!と思ったら LGTM お願いします

【PR】プログラミング新聞リリースしました! → https://pronichi.com

【PR】週末ハッカソンというイベントやってます! → https://weekend-hackathon.toyscreation.jp/about/