2
4

More than 1 year has passed since last update.

Lambdaの明瞭な出力ログ、logのデバック方法 [Python, Node.js]

Last updated at Posted at 2022-02-02

はじめに

Lambdaの出力ログは、CloudWatchLogsで確認しますが、json形式の明瞭なログ出力を書き留めます。

#Python
DynamoDBの数値を取り出す際、データとしてDecimal(数値)として取り出されますが、json.dumpsを実行すると、エラーが起きました。
そのため、Decimalを取り除くロジックをつけています。

ensure_ascii=Falseは、文字化け対策です。

import json
from decimal import Decimal

# json形式でログを出力するため、Decimalがある場合取り除く
def decimal_to_int(obj):
    if isinstance(obj, Decimal):
        return int(obj)


def lambda_handler(event, context):

print("Received event:" + json.dumps(event, default=decimal_to_int, ensure_ascii=False))

スクリーンショット 2022-02-02 22.42.48.png

Node.js

Node.jsの方は、1行でかけました。

exports.handler = (event, context, callback) => {

console.log("Received event:", JSON.stringify(event, null, 2));
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4