console.log をファイルにキャプチャしますか?

console.log をファイルにキャプチャしますか?

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

最新のブラウザではローカル データをファイルに保存できますが、保存するタイミングを決定するトリガーが必要になります。詳細はこちらをご覧ください:

https://stackoverflow.com/questions/21012580/is-it-possible-to-write-data-to-file-using-only-javascript

関連情報