MyFleetGirls
MyFleetGirls copied to clipboard
ログ報告機能
例外をキャッチして、その内容を自動でサーバに送信する機能欲しいデス。サポート用に。DBのTableは
- ユーザ(indexed)
- Exception(indexed)
- Version(indexed)
- StackTrace
- created(indexed)
ぐらいあればいいんでないの
クライアント側の発生時刻と、サーバー側で受け取った時刻は別に記録した方がよさげ。 あとは「何をしようとしてエラーが出たか」の大雑把な分類も可能ならば。 例)建造・開発・編成・etc... ( StackTrace で分かるが、大雑把な分類の為に補足情報は有って困らないと。
OS 種別と JVM ver も有った方がよさげ
なるほど、助言を容れて以下を追加しましょう
- sended (indexed)
- os (indexed)
- jvm_version (indexed)
大雑把な分類はコスト高そうなので、運用始めて必要そうなら、でいいと思う
大分放置されているあいだにclient側のログが整理されてきたのと、エラーを問答無用で送るのはよくない気がしてきたので、ログファイルを提督側のアクションで簡単に送れる仕組みの方が良いかなぁという気がしてきている
現状ありとあらゆるログ( application.log で記録しているような )をすべてサーバーにも送るのは、容量と監査するコストの面で現実的では無い。 例外の類をどうするかは少し悩み所で、今のところ client 側のアプリケーションレベルのエラーは
- 通信周りの物
- 艦これゲームサーバーからの JSON のパースエラー
に大別される(はず)。 アプリケーション自体のロジックがおかしいとかは例外のレベルではほぼ出て無さそう。
1は例外メッセージだけ単独で見ても恐らく意味が分からない。直前までの情報と纏めて送って貰うのが望ましい。 2は艦これのアップデートなどで発生する事は多そう。ただ、場合によってはセンシティブな情報も含むので自動で送るとすればサマリだけになりそう。
いずれにしても現状、暗黙のうちにデータを送るのは抵抗がありそう。 ユーザー自身のアクションか、設定ファイルでの指定等何らかの同意を得た形が必要と思われる。
とりあえず application.log の扱いについては、Web 上のフォームなどからどういうときに発生したかのコメントも含めて送れて、Google Drive (とか OneDrive でも Dropbox でもなんでもいいけど)一覧でも見られると嬉しいなぁという妄想だけ書いて置く。 この形での実現は「自動送信」では無いのでやるなら別 Issue 立てる方が良さそう。
現状個人的に送られてるログもちょいちょいあって、でも開発が必ずしも1人じゃないからContributorは最低でも閲覧できるといいなぁってのもあるな… issueのタイトルを変えた方がいいかな