私は純粋な JavaScript で console.log を文字列として取得しようとしています。入力はスクリプトですが、それに慣れていないので、console.log 内のすべてのメッセージを文字列に収集したいと考えています。
例えば:
function doSomething(){
console.log("start");
console.log("end");
var consoleLog = getConsoleLog();
return consoleLog;
}
function getConsoleLog(){
// How to implement this?
}
alert(doSomething());
ログに警告を出す必要がないことに注意してください。これは単に機能をテストする単純な例です。ログの内容に対していくつかの操作を行う必要があります。
ベストアンサー1
使用する前にメソッドを上書きすることができますconsole.log
:
var logBackup = console.log;
var logMessages = [];
console.log = function() {
logMessages.push.apply(logMessages, arguments);
logBackup.apply(console, arguments);
};
と を使用するapply
とarguments
正しいconsole.log
動作が維持されます。つまり、1 回の呼び出しで複数のログ メッセージを追加できます。
console.log
すべての新しいメッセージを配列にプッシュしますlogMessages
。