37883
Webアプリケーションでの操作ログの取得方法について伺いたいです。

というのも、通常のシステムであればユーザがどのような操作をしたか、どのようなデータを入力したか  
といったものを操作ログとして出力していると認識しています。（デバッグ、トラブル対応のため）

しかし、Webアプリケーションのフロント側（特にJS)ではコンソール画面にログを出力する機能はあっても操作ログをファイルとして出力することは一般的で無い様に見受けられます。  
特に業務で利用するようなシステムの場合、（例えばWrikeのようなもの[Wrike](https://www.wrike.com/ja/)）では、ログを取得しない場合、後々トラブルが起きた際に面倒なことになると考えています。

そこで下記についてお伺いしたいです。

1.Webアプリケーションのフロント側のログを収集する方法があまりないのか。  
調べても、choromeへconsole.logを出す方法しか見つからず、ログを収集し後で確認出来るような形で保存するといった方法は見つかりませんでした。  
2.操作ログやコンソールログを収集をする場合、どのような方法で行うのか。  
操作する度にjsonファイルかなにかを発行し、それをサーバへ送るとかでしょうか。

イメージとしては下記のようなシステムを想定しています。  
◇利用シーン  
・業務利用システム  
（ゲーム等ではなく、ある特定のユーザのみが利用するようなものです）  
◇システム構成  
・HTML/CSS/JS

どうぞよろしくお願いします。
CC BY-SA 3.0
2017-09-11T13:22:39.977
37875
2017-09-18T22:11:49.430
2017-09-18T22:11:49.430
13593
13593
question
javascript html
Webアプリケーションでの操作ログの取得方法
質問の聞き方が“一般的か”・“普通は”と抽象的で、このサイトには向きません。

> 1.Webアプリケーションのフロント側の操作ログを収集するのはなぜ一般的でないのか。

ブラウザ側でjavascriptでログを生成することは、必要があれば有り得るのではないでしょうか。ただし、ローカルに保存できたとしてもその方法は一般的ではないでしょう。Webアプリケーションの運用者からは確認のしようがないですから。  
（そのログはどこかに送信する必要があり、送信先で格納・分析できなければ活用には程遠いです。自作するにはそれなりの手間がかかるはずです。）

> 2.操作ログやコンソールログを収集するとしたら普通はどのような形で収集するのか。

"操作ログ"や"コンソールログ"が何を指すのか具体的に示してもらえるとよいですが、↓のようなサービスは参考になるのではないでしょうか。  
（下記のサービスを利用することが“普通”であると言える知見は私にはありません）

New Relic Browser  
<https://newrelic.com/browser-monitoring>  
<http://qiita.com/kumatronik/items/35f82746d5072001f566>

Microsoft Azure Application Insights  
<https://docs.microsoft.com/ja-jp/azure/application-insights/app-insights-
javascript>
CC BY-SA 3.0
2017-09-12T00:56:33.260
37883
2017-09-12T00:56:33.260
2238
37875
answer