PR

【10/7】S_ajax_actionでタイムアウト発生時にログ出力 #1198

kouho opened this at 2021-10-05T18:39:39; closed

Description

opened by kouho at 2021-10-05T18:39:39; updated 2025-09-26T10:36:16

概要

JOLLYROGER_func.jsのS_ajax_actionでタイムアウト発生時に情報が何も残っていませんでした。
ユーザーからの問い合わせを確認する方法が無いためログ出力するようにしました。

タイムアウトのログ出力時に欲しい情報

  • いつ起きたか
  • どのページで起きたか
  • ユーザーエージェント
  • ajaxの処理にかかった時間(非対応)

ajaxの処理にかかった時間は欲しい情報ですが対応方法が不明だったため対応していません。

console.logを上書きしてログファイルに出力する形に下記サイトのソースを基に作成しています。
https://qiita.com/yun_bow/items/bcca1b735294c8ba343b

テスト方法、確認した内容

logフォルダ以下にjsフォルダを作成
JOLLYROGER_func.jsのtimeoutを4000から1にしてメインページや冒険ページにアクセス
log/js/console.log にログ出力されていればOKです。

TODO

  • 出力内容の整理(このままで良いかどうか)
  • S_ajax_actionでタイムアウトだけでなくエラー発生時にもログ出力させるかどうか。
  • 開発環境で複数の端末で同時にエラー出力させても問題ないかの確認
kouho add_label at 2021-10-05T18:39:48: レビュー待ち

Comment

#14156 by kouho at 2021-10-05T18:49:48; updated 2021-10-05T18:51:33

@wada @iwamoto
レビューお願いいたします。各ファイル名や設定ファイルの置き方や出力のさせ方などツッコミどころが多いかもしれません。。。
タイムアウトのログ出力なので非対応のajaxの処理にかかった時間も良いやり方があれば教えていただきたいです。
また出力情報としてあった方が良い情報があればご指摘ください。

Comment

#14173 by iwamoto at 2021-10-06T17:03:46; updated 2021-10-06T17:03:46

@kouho
確認しました、動作は問題ないと思います…。

出力に関しては一旦これでいいのではと思います

だた、見落としがあるかもしれません

Comment

#14190 by wada at 2021-10-07T11:43:51; updated 2021-10-07T11:43:51

@kouho
指定のブラウザはES6に対応していないため、以下の処理は実行しない方が良いです。
ES6(ES2015)チートシート

ジョリーでも過去にデフォルト引数を実装して、数名のユーザーがプレイできない状態になっていました。

Comment

#14213 by kouho at 2021-10-07T16:11:57; updated 2021-10-07T16:11:57

@wada
確認とご指摘ありがとうございます。
https://azu.github.io/ecmascript-version-detector/
こちらのサイトにコードを貼り付けながらES6で書いていた箇所を修正しました。

  • 変数定義はletではなくvar
  • アロー関数を従来の無名関数の書式に修正
  • for...of 構文をfor ... in 構文に修正
  • テンプレート文字列を従来の文字列に

Comment

#14264 by kouho at 2021-10-08T15:22:11; updated 2021-10-08T15:22:11

@wada
確認ありがとうございます。以下指摘箇所を修正いたしました。

  • 環境ごとのログ設定
  • エラー処理のコメントアウトの修正
  • .gitignoreを修正してlog/jsフォルダのgit管理

Comment

#14273 by wada at 2021-10-08T17:13:41; updated 2021-10-08T17:13:41

@kouho
ありがとうございます。確認しました。

wada add_label at 2021-10-08T17:13:45: 和田 LGTM
iwamoto add_label at 2021-10-11T12:36:14: 岩本 LGTM
kouho merge at 2021-10-13T15:05:41: 【10/7】S_ajax_actionでタイムアウト発生時にログ出力
kouho close at 2021-10-13T15:05:41: Close
kouho refer at 2021-10-14T10:03:21: 1215:【10/14】リリース
kouho refer at 2022-04-04T14:40:56: 1699:【4/4】jsタイムアウト時のログ出力対応全削除

commit comment

#87 by wada at 2021-10-08T11:44:09; public_html/js/log_config_docker.js / old:None new:2
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
console.logが上書きされてしまうので、実装中はfalseにして欲しいです。

commit comment

#88 by wada at 2021-10-08T11:44:34; public_html/js/log_config_prod.js / old:None new:3
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
ログレベルが開発環境と同じですが大丈夫ですか?

commit comment

#89 by wada at 2021-10-08T11:46:12; public_html/console_api.php / old:36 new:None
08f6d898f8d12e9a4a3dd1f2329c140f03aa1699

@kouho
ローカル環境では、ディレクトリが存在しないためファイルに書き込まれませんでしたが、他の環境では大丈夫でしょうか?

commit comment

#90 by wada at 2021-10-08T11:47:04; public_html/console_api.php / old:None new:18
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
エラー処理がコメントアウトされています。

Commit range

base67e836b80692aa60808d1506856070d3636d503c
head08f6d898f8d12e9a4a3dd1f2329c140f03aa1699
base branchjolly/jr-web:develop
head branchjolly/jr-web:js_func_log

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed10 filesView patch
statusfile
modified.gitignore
addedlog/js/.gitkeep
addedpublic_html/JsLogConfig.php
addedpublic_html/console_api.php
modifiedpublic_html/js/JOLLYROGER_func.js
addedpublic_html/js/log.js
addedpublic_html/js/log_config_dev.js
addedpublic_html/js/log_config_docker.js
addedpublic_html/js/log_config_prod.js
modifiedpublic_html/template/header_sp.tpl
Patch body is stored as a separate file to keep this page lightweight.

Review comment

#87 by wada at 2021-10-08T11:44:09; public_html/js/log_config_docker.js / old:None new:2
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
console.logが上書きされてしまうので、実装中はfalseにして欲しいです。

Review comment

#88 by wada at 2021-10-08T11:44:34; public_html/js/log_config_prod.js / old:None new:3
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
ログレベルが開発環境と同じですが大丈夫ですか?

Review comment

#89 by wada at 2021-10-08T11:46:12; public_html/console_api.php / old:36 new:None
08f6d898f8d12e9a4a3dd1f2329c140f03aa1699

@kouho
ローカル環境では、ディレクトリが存在しないためファイルに書き込まれませんでしたが、他の環境では大丈夫でしょうか?

Review comment

#90 by wada at 2021-10-08T11:47:04; public_html/console_api.php / old:None new:18
0e7622e26a99668cdf8feeff512de2e6fd5e2879

@kouho
エラー処理がコメントアウトされています。