有没有办法在它们发生之前或之后捕获console.log调用参数?

时间:2019-01-25 11:33:25

标签: javascript typescript console console.log

我想在console.log调用之后触发一些操作,但是我不想自己覆盖console.log,因为我不想丢失日志位置。

我正在研究如何使它看起来不错,但代理服务器看起来不错,但尝试使用它们:

var consoleLogProxyHandler = {
    apply: function (target, thisArg, argumentsList) {
        return target.apply(void 0, argumentsList);
    }
};
var consoleLogProxy = new Proxy(console.log, consoleLogProxyHandler);
console.warn("this is line 7");
consoleLogProxy("this is line 3 :(");

但是我仍然失去控制台位置。

enter image description here

如果我仅代理控制台并监听日志调用,然后返回console['callKey'],我不会失去位置,但不会得到参数(即提供给控制台的文本)。

所以现在我正在考虑是否可以在console.log完成后触发某种事件或类似事件,但是我没有找到任何相关的方法。

是否存在类似的选项?

编辑:所需功能:

1.  onConsoleLog(message) {
2.   // I have here the args
3.     maybeAServerLog('the user logged ' + message)
4.  }
5. 
6.  // some magic here...
7. 
8.  console.log('hello');
9.  hello                  - script.js line 8
10. the user logged hello  - script.js line 3

0 个答案:

没有答案