计算console.log对象

Tom*_*dge 7 javascript json

下面的代码将控制台日志打印到页面上.它记录来自服务器的获取和响应,如:

14:15:17 GMT+0000 (GMT Standard Time) Submitting HTTP GET request to http...
14:15:22 GMT+0000 (GMT Standard Time) Received HTTP response: {..
14:15:17 GMT+0000 (GMT Standard Time) Submitting HTTP GET request to http...
14:15:22 GMT+0000 (GMT Standard Time) Received HTTP response: {..
Run Code Online (Sandbox Code Playgroud)

我不想在页面上显示这些内容,而是计算每个响应和请求,以便您看到从1开始到结束时的数字,可以是任何数字.这是为了向用户显示正在发生的事情而不向他们显示所有响应并获取数据.

        function logHttpResponse(response) {
        var now = new Date();
        var logger = document.getElementById('log');
        var logMessage = now.toTimeString() + " Received HTTP response: " + JSON.stringify(response);
        console.log = function (logMessage) {
            if (typeof logMessage == 'object') {
                logger.innerHTML += (JSON && JSON.stringify ? JSON.stringify(logMessage) : String(logMessage)) + '<br />';
            } else {
                logger.innerHTML += logMessage + '<br />';
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div id="log"></div>
Run Code Online (Sandbox Code Playgroud)

Gaa*_*far 3

如果您只想覆盖console.log以打印响应计数,这应该可以做到,但这会增加任何console.log调用的计数。

var logCount = 0

console.log = function (logMessage) {
    var logger = document.getElementById('log');
    logCount++;
    logger.innerHTML = logCount;
}
Run Code Online (Sandbox Code Playgroud)

如果您想依赖响应而不是所有控制台日志,请使用类似的内容

var logCount = 0

function logHttpResponse(response) {
    var logger = document.getElementById('log');
    logCount++;
    logger.innerHTML = logCount;
}
Run Code Online (Sandbox Code Playgroud)