gpt4 book ai didi

angularjs - 如何拦截 AngularJS $http 日志以显示在页面中

转载 作者:行者123 更新时间:2023-12-03 08:24:41 25 4
gpt4 key购买 nike

我想拦截来自 AngularJS 的控制台日志消息并将它们显示在页面上的 div 中。我需要这个来调试 PhoneGap 应用程序中的 ajax 流量。

这是我想要捕获的错误类型的示例:

enter image description here

我试过这个 Showing console errors and alerts in a div inside the page但这不会拦截 Angular 错误消息。

我还尝试了答案中建议的游戏结束解决方案。也没有运气。显然 $http 以不同的方式处理错误日志。

最佳答案

我想你尝试的答案有正确的想法,但你覆盖了错误的方法。 Reading here我可以看到 angularJs 使用 $log而不是 console.log ,因此要拦截,您可以尝试覆盖它们。

像这样的东西:

$scope.$log = {
error: function(msg){document.getElementById("logger").innerHTML(msg)},
info: function(msg){document.getElementById("logger").innerHTML(msg)},
log: function(msg){document.getElementById("logger").innerHTML(msg)},
warn: function(msg){document.getElementById("logger").innerHTML(msg)}
}

确保在导入后运行 angular.js .

编辑

第二个猜测,覆盖 consoleLog angular.js 上的 LogProvider 内部类上的方法文件:
function consoleLog(type) {
var output ="";
//arguments array, you'll need to change this accordingly if you want to
//log arrays, objects etc
forEach(arguments, function(arg) {
output+= arg +" ";
});
document.getElementById("logger").innerHTML(output);
}

关于angularjs - 如何拦截 AngularJS $http 日志以显示在页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com