Javascript 将浏览器的console.log获取到数据中

Javascript 将浏览器的console.log获取到数据中,javascript,php,ajax,server,console.log,Javascript,Php,Ajax,Server,Console.log,我有一个基于javascript/php的web应用程序,我正在制作一个bug finder函数,一个位于前端的按钮,用户可以在其中通知bug。 当前功能: function bug_finder(){ var txt = document.getElementById('bug_txt').value; if(txt==''){ alert_fail('Um campo ficou vazio!'); return; } v

我有一个基于javascript/php的web应用程序,我正在制作一个bug finder函数,一个位于前端的按钮,用户可以在其中通知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从浏览器导入数据的方法,因此我可以进行操作。

您可以使用自定义函数覆盖
console.log
。请参阅下面的代码片段。请注意,
console.log
的参数计数没有限制,因此最终将使用数组数组

//记住原来的console.log
const origLog=console.log;
//这里将存储console.log的内容
设consoleBuffer=[];
//用自己的函数替换console.log
console.log=函数(…args){
//我不会存储无限多的条目,
//因此,如果存储了10个,请删除最旧的一个
如果(consoleBuffer.length==10)consoleBuffer.pop();
//记得吗
控制台缓冲推送(args);
//调用原始函数
原始应用(控制台,参数);
};
console.log('foo');
设err='未知错误';
console.log('发生错误:',err);
//使用warn,因为它未被替换

控制台。警告(控制台缓冲)“…因此我可以操纵”。你不能操纵的是什么?可能是人的复制品哦,天哪,我想就是这样。我现在要测试一下,但我想它会起作用的。谢谢。错误出现了
未捕获类型错误:CreateListFromArrayLike在object.console.log((索引):3532)at(索引):3535
@LucasMartins ES5代码(请参见编辑)对您有用吗?问题在那一行:origLog.apply(控制台,args);我改为console.warn(args);“成功了!”卢卡斯马丁斯很高兴我能帮上忙。请把我的答案标记为“接受”,如果它对你有用的话。然而,我仍然没有得到错误。至少ES5代码应该可以工作。