great084 / twitter_tool

ツイッターツールの開発
0 stars 0 forks source link

APIエラー時のログ出力 #84

Closed domi10momo closed 3 years ago

domi10momo commented 3 years ago

closes #82

目的・概要

ユーザ起因ではないエラーの際にログをlog/に残す。 原因を追えるようにする。

実装内容

UI変更概要

画面キャプチャ

稼働確認チェック

参考資料

連絡事項

domi10momo commented 3 years ago

@nakamitsu-nozomi @great084 ご確認ありがとうございます。 エラーコードの出力、各環境設定にログのレベルを設定しました。

また、ログイン機能もlogger使用しようと試したのですが、正常に行かず悩み中です。

悩み点

user_data=nilとした場合、rescueには進むものの、2の問題が解決されず 元のコード+rescueの処理の場合、rspecは通るものの、1の問題が解決されず

悩んでいる点

  1. 変数user_data[:uid]が異常でもrescueには進まない (ログインができないだけでcurrent_userが設定されていない場合のroot_urlに戻るため、エラーは発生せず)

  2. また、上記のため、ログイン不可のflashメッセージが表示されず、rspecが通らない

session_controller.rb の create

great084 commented 3 years ago

@domi10momo

昨日お話したとおり、Twitterのアカウント認証は、レスポンスとして明確にエラーが返ってくるわけではないので、自アプリ内でエラーハンドリングを行う必要があります。(つまりrescue StandardError => eを定義してもヒットしない)

現状if user_data[:uid]が、実質的なエラー判定なので、else ブロックにログ出力してあげれば今回の要件は満たせます。

なお、きちんと(?)エラー発生させて、エラー処理をしたいということであればraiseでエラーを意図的に発生させて、それをキャッチするという書き方もできます。

domi10momo commented 3 years ago

@great084 @nakamitsu-nozomi ありがとうございます。実装修正しました。 user_dataがnilの場合とuser_data[:uid]がnilの場合で挙動が違ったため、2つログ出力記載しています。 ご確認お願いします。

domi10momo commented 3 years ago

@great084 ありがとうございます。 修正し、development環境でdebugログ出力できること確認できました。

別件で修正

tweet取得の際、期間指定しなかった場合、システムエラーとなるため、修正 (Unpermited Parameter を削除するタスクの実装時に間違えたと思われます。すみません。)

domi10momo commented 3 years ago

@great084 すみません、51行目の内容について勘違いしていました。 ログ出力レベル変更しています。ご確認お願い致します。

domi10momo commented 3 years ago

@great084

OKです。

以下の指摘だけ対応漏れているので対応しておいてください。 https://github.com/great084/twitter_tool/pull/84/files#r560964438

OKありがとうございます。修正したため、merge致します。