我在javascript / php上有一个web应用程序,我正在创建一个bug查找器功能,前端有一个用户可以通知错误的按钮。 当前功能:
function bug_finder(){
var txt = document.getElementById('bug_txt').value;
if(txt==''){
alert_fail('Um campo ficou vazio!');
return;
}
var DATA = { acao:'bug_finder', txt:txt, log:console.log };
console.log( JSON.stringify(DATA) );
$.ajax({
type: "POST",
url: 'dash_acao.php',
timeout:2000,
data: DATA,
success: function(response){
console.log(response);
alert_sucesso('');
},
error: function(response){
alert_fail('');
}
});
}
ajax将浏览器的console.log内容发送到php文件,在那里我进行数据库更新并在服务器中创建日志文件,以便查找。
到目前为止,我还没有找到一种方法将console.log从浏览器转换为数据,所以我可以操作。
答案 0 :(得分:0)
您可以使用自定义功能覆盖console.log
。请参阅下面的代码段。请注意,console.log
的参数计数没有限制,因此最终会有阵列数组。
// remember original console.log
const origLog = console.log;
// here, the contents of console.log will be stored
let consoleBuffer = [];
// replace console.log with own function
console.log = function (...args) {
// I would not store an infinite amount of entries,
// so remove oldest one if 10 stored
if (consoleBuffer.length === 10) consoleBuffer.pop();
// remember
consoleBuffer.push(args);
// call original function
origLog.apply(console, args);
};
console.log('foo');
let err = 'unknown error';
console.log('An error occured: ', err);
// use warn since this was not replaced
console.warn(consoleBuffer);

编辑(ES5代码)
'use strict';
// remember original console.log
var origLog = console.log;
// here, the contents of console.log will be stored
var consoleBuffer = [];
// replace console.log with own function
console.log = function () {
var args = Array.prototype.slice.call(arguments);
// I would not store an infinite amount of entries,
// so remove oldest one if 10 stored
if (consoleBuffer.length === 10) consoleBuffer.pop();
// remember
consoleBuffer.push(args);
// call original function
origLog.apply(console, args);
};
console.log('foo');
var err = 'unknown error';
console.log('An error occured: ', err);
// use warn since this was not replaced
console.warn(consoleBuffer);

答案 1 :(得分:0)
您无法获取在console.log()中打印的数据。 我不明白为什么你需要它。而不是使用console.log()打印它,你可以“操纵”响应? 或者如果你想将它放到另一个php / html文件中,只需发送它即可。