ツール プログラミング

AWS Lambda Powertools Loggerのlocationをformatする

2023-03-13




こいつをやってて。

AWS Lambda Powertoolsで外部ファイルのログを出力する

Lambdaって、lambda_function.py以外にもファイル使うことありますよね。 そんな場合でもAWS Lambda Powertoolsを使うと簡単にログを取ってくれます。 が。 ちょっ ...

続きを見る

locationってformatできないのかなぁ。
毎回Messageにクラス名やら関数名やら書くのは面倒だぞ。。。

と思っていたらできました。
ドキュメントには(たぶん)書いてないけどね!!

locationをformatする

デフォルトだとこう。
locationに関数名しかないので、別ファイルに切り出した場合だと探すのが大変です。

でもドキュメントを読んでも書いてなくない?
と思ってたらこんなのが。

Logger作成時にlocationを指定する

formatの定義を書いて、Loggerにlocation=で渡す。
以上。

え、そんなパラメータなくないか…?

**kwargs: Anyになんでも入るらしいね!!
そんなの聞いてない!!

と思ったらここに書いてあったっぽい。

ちゃんとお作法通りに書いたらこんな感じ。

これでちゃんとフォーマットされます。
Messageに出力してたクラス名とも合ってます。

formatで使う文字列の仕様はどこにあるのか?

filenameとかlinenoとか。
たぶんドキュメントには書いてない…見つけられない…ので、現状はQiitaにあるようにソースの中身を追わないとダメかもしれません。

ベースは標準モジュールのloggingのようですが、多少変更されてますね。

inspectで取れる属性名を流用してそうなので迷ったら入れてみたらいいかも。

関連記事

AWS Lambda PowertoolsのtimestampをJSTにする

最近、仕事でAWS Lambdaを使ってます。 Python書くの楽しい。 プロジェクトのメイン言語はPHPだけど、PHPは書いててストレス溜まるからもうポイしたいw ということで、Lambdaのログ ...

続きを見る

AWS Lambda Powertoolsで外部ファイルのログを出力する

Lambdaって、lambda_function.py以外にもファイル使うことありますよね。 そんな場合でもAWS Lambda Powertoolsを使うと簡単にログを取ってくれます。 が。 ちょっ ...

続きを見る

-ツール, プログラミング
-, ,

© 2024 そんなこと猫でもできる Powered by AFFINGER5