ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

aws-cdk + localstackで定義したlambdaを実行してそのログを確認する

イマイチログの見方がわからず、今後使う時もまたハマりそうなのでメモ

想定読者

  • cdkを使ってlambdaを定義できる
  • cdklocal deployを実行して定義したlambdaをデプロイできる
  • デプロイしたlambdaを実行できる

確認用のlambda

nodejsしか使えないのでnodejsでlambdaを定義する。logにはnode-bunyanを使用する

ログを出力してそれをレスポンスとして返す簡単なlambda関数

import type { APIGatewayProxyHandler } from 'aws-lambda'
import * as bunyan from 'bunyan'

const logs = bunyan.createLogger({name: 'myapp'})

export const handler: APIGatewayProxyHandler = async (event) => {
  logs.info({message: 'handle event.', req: event})
  return {
    statusCode: 200,
    body: JSON.stringify(event)
  }
}

ログの確認方法

aws-cliを使用してログを確認する

# log groupを確認する
aws --endpoint-url=http://localhost:4566 logs describe-log-groups  --query logGroups[0].logGroupName

# logをtailで表示する logGroupNameの部分を取得したものに置き換える
aws logs tail {logGroupName} --follow --endpoint-url=http://localhost:4566

これでlambdaのログを追うことができるのでデバッグが捗る