在 App Insights 中收集 JavaScript 条控制台消息

Collect JavaScript console messages in App Insights

JavaScript console object 提供了多种将消息​​输出到浏览器控制台的方法:

console.log
console.error
console.warn
console.info
console.trace

默认情况下,Application Insights 不会将控制台消息作为遥测发送到 Azure 门户 (Sending telemetry to the Azure portal),所以我的问题是:在 Application Insights 中捕获控制台消息作为遥测的方法有哪些?

谢谢

执行此操作的最佳方法可能是自己覆盖控制台功能。现有答案描述了如何执行此操作:Override console.log(); for production

请记住,对于 App Insights 的自定义实现,您通常需要使用 npm installation 而不是 App Insights 代码片段来设置 App Insights。

结果可能如下所示:

// define a new console
var console=(function(oldCons){
    return {
        log: function(text){
            oldCons.log(text);
            telemetry.TrackTrace(text, SeverityLevel.Warning);
        },
        //override other console methods
    };
}(window.console));

//Then redefine the old console
window.console = console;