AWS API を使っているとこういうログが吐かれると思いますが、
[AWS SimpleEmailService 200 0.580066 0 retries] list_verified_email_addresses() ...
もっと詳しくリクエストやレスポンスの内容を見たいとか、ログが長過ぎるという事があると思います。そういうときは
AWS.config(log_formatter: "#{ログフォーマット}")
と設定するとログのフォーマットを変える事が出来ます。
sdk に用意されているフォーマットは 4 通りです。
1. AWS::Core::LogFormatter.default
初期設定のフォーマット
2. AWS::Core::LogFormatter.short
default
よりも短いログになります。サービス名、HTTP ステータス、かかった時間、オペレーション、エラーがあればエラーのクラスが出力されます。default
と違いエラーメッセージは出力されません。
[AWS SimpleEmailService 200 0.494532] list_verified_email_addresses
3. AWS::Core::LogFormatter.debug
詳細なログを出力します。レスポンスだけでなくリクエスト内容まで見れるので、かなり冗長になりますが、エラー調査の際に重宝します。
+-------------------------------------------------------------------------------
| AWS us-east-1 SimpleEmailService list_verified_email_addresses 0.429189 0 retries
+-------------------------------------------------------------------------------
| REQUEST
+-------------------------------------------------------------------------------
| METHOD: POST
| URL: https://email.us-east-1.amazonaws.com::443:/
| HEADERS: {"content-type"=>"application/x-www-form-urlencoded" ...
| BODY: Action=ListVerifiedEmailAddresses&Timestamp= ...
+-------------------------------------------------------------------------------
| RESPONSE
+-------------------------------------------------------------------------------
| STATUS: 200
| HEADERS: {"x-amzn-requestid"=>["..."], ...
| BODY: <ListVerifiedEmailAddressesResponse ...
4. AWS::Core::LogFormatter.colored
ログに色がつきます。出力される内容は default
と変わらないんですが、[AWS SimpleEmailService 200 0.580066 0 retries]
の部分が太文字の青色になるんで、とっても探しやすい!
自分でフォーマットをカスタマイズする
用意されているフォーマットじゃ満足できない場合、自分でフォーマットを決める事も出来ます。
例えばリクエストの Body だけ見たいって人はこんな感じ
AWS.config(log_formatter: AWS::Core::LogFormatter.new("REQUEST BODY: :http_request_body"))
LogFormatter
に自分の好きな形で文字列を渡してあげればいいです。リクエストのヘッダが見たいとか、レスポンスは HTTP ステータスだけで良いとか、好きに決められます。もちろん色も変えられます。debug
や colored
を参考にすれば簡単に作れるでしょう。