
(拡張版) [
3/3
]
実際には、
log_request
の実行時にどのようなエラーが発生しても、全捕捉コードが処理します。
バックエンドデータベースを再起動し、正しくないユーザ名で接続してみました。
vsearch4web.py
の
dbconfig
辞書の
user
の値に
vsearchwrong
を使うように変更すると、エラーが発生します。
...
app.config['dbconfig'] = {'host': '127.0.0.1',
'user': 'vsearchwrong',
'password': 'vsearchpasswd',
'database': 'vsearchlogDB', }
Web
アプリケーションをリロードして検索を実行すると、ターミナルに次のようなメッセージが表示されます。
...
*****
ロギングが失敗しました:
1045 (28000): Access denied for user 'vsearchwrong'@
'localhost' (using password: YES)
ユーザの値を
vsearch
に戻してから、
log_request
関数で使っている
SQL
クエリのテーブル名を(
log
の
代わりに)
logwrong
に変更して存在しないテーブルにアクセスしてみましょう。
def log_request(req: 'flask_request', res: str) -> None:
with UseDatabase(app.config['dbconfig']) ...