Chrome キオスクを使用していて、ログを保持して集約したいと考えています。Chrome のドキュメントには、 を使用でき--enable-logging --v=1
、chrome_debug.log ファイルにログが記録されると書かれています。これを行うとログが作成されますが、それはすべて Chrome 内のシステム レベルのものであり、サイト固有のログではありません。すべての console.log/info/warn ステートメントをファイルに直接キャプチャする方法はありますか? それとも、何かを設計する必要がありますか?
答え1
コードを制御している限り、またはコードを挿入できる限り、console.log をオーバーライドしてメッセージを収集できます。
var aggrLog = '';
(function(){
var oldLog = console.log;
console.log = function (message) {
aggrLog += Array.prototype.join.call(arguments, ' ') + '\n';
oldLog.apply(console, arguments);
};
})();
これにより、すべての console.log が変数 aggrLog に集約されます。
クレジット:https://stackoverflow.com/questions/11403107/capturing-javascript-console-log
最新のブラウザではローカル データをファイルに保存できますが、保存するタイミングを決定するトリガーが必要になります。詳細はこちらをご覧ください: