【问题标题】:Is there a way to capture JavaScript console output so I can reference it elsewhere?有没有办法捕获 JavaScript 控制台输出,以便我可以在其他地方引用它?
【发布时间】:2015-05-04 23:38:10
【问题描述】:

如果可能,我想在我为我的应用程序开发的日志窗口中显示 JavaScript 控制台输出。有很多解决方案可以将消息发布到控制台,但我找不到任何可以让您捕获控制台输出的解决方案。

我什至不确定这是否可能。控制台输出是否存储在 DOM 某个级别的对象中?

提前感谢任何提示/建议。

【问题讨论】:

  • @torazaburo 这不是正确的副本。这是关于拦截日志输出的问题,而您链接的问题是关于将输出(可能手动)保存到文件中。

标签: javascript


【解决方案1】:

您可以覆盖您要使用的控制台功能

if(window.console && console.log){
   console.log = function(){
      var args = arguments;
      /* process args to your app */ 
   }
}

【讨论】:

  • 如果您还想定期记录日志,您可以通过在覆盖之前保存对 console.log 的引用来实现。
【解决方案2】:

您可以使用如下函数重载console.log,该函数可以以您喜欢的任何形式保存消息,以及输出到控制台。这个特定的实现有点简单,虽然它只需要一个参数,但可以很容易地在谷歌上搜索其他示例。

var myLog = [];

console.log = function (text) {
    console.info(text)
    myLog.push(text);
}
console.log("abc")
console.info(myLog);

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 2012-06-03
    • 2023-04-07
    • 1970-01-01
    • 2013-05-10
    相关资源
    最近更新 更多