【问题标题】:How can I get proper JavaScript logging for Application Insights如何为 Application Insights 获取正确的 JavaScript 日志记录
【发布时间】:2021-06-21 16:03:01
【问题描述】:

我希望有人可以回答为什么日志记录发生在一个位置而不是另一个位置的问题。我正在使用snippet-based-setup 启用日志记录,并且我有两个简单的测试日志,我将它们输入到页面上的 JavaScript 中。

$(document).ready(function () {
    RetrieveSessionData(function (d) {
        formData = d;
        var prop = { "SessionCode": getSessionCode() };
        var met = { "model risk type": formData.projectionData.modelRiskType };
        appInsights.trackEvent("ACTIONS-JS-READY", prop, met);
        appInsights.trackEvent("ACTIONS-JS-READY2", "prop", "met");
        appInsights.flush();
    });
    var properties = { "SessionCode": getSessionCode() };
    var metrics = { "metrics field": 10 };
    appInsights.trackEvent("ACTIONS-JS", properties, metrics);
    appInsights.flush();
});

RetrieveSessionData 函数中的 appInsights.trackEvent 行不记录任何内容,也不返回任何类型的错误/消息,让我知道存在问题。脚本底部的那个,在函数之外,确实将自定义事件记录到应用程序洞察中。

我错过了什么?我还没有找到任何关于在函数内部进行 JavaScript 日志记录的正确方法的具体示例,还是不能这样做?

【问题讨论】:

    标签: javascript azure-application-insights


    【解决方案1】:

    正如 OP 在评论中所说,Microsoft site 上的代码 sn-p 将起作用。


    我不确定,但我在我身边测试过,它确实有效,这是我的代码。你检查RetrieveSessionData参数中的代码有没有执行?

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <script type="text/javascript">
                snippet-code-copy-from-tutorial-here
                    instrumentationKey: "ceec379c-xxxxx-4296327"
                }});
            </script>
            <script src="../js/jquery-3.5.1.min.js"></script>
        </head>
        <body>
            <div>this is page</div>
            <script>
                $(document).ready(function() {
                    console.log("============execute===============");
                       RetrieveSessionData(function (d) {
                           formData = d;
                           var prop = { "SessionCode": "aa" };
                           var met = { "model risk type": "bbb" };
                           appInsights.trackEvent("ACTIONS-JS-READY", prop, met);
                           appInsights.trackEvent("ACTIONS-JS-READY2", "prop", "met");
                           appInsights.flush();
                       });
                    
                    console.log("============execute222===============");
                    var properties = {
                        "SessionCode": "session_code_01"
                    };
                    var metrics = {
                        "metrics field": 10
                    };
                    appInsights.trackEvent("ACTIONS-JS", properties, metrics);
                    appInsights.flush();
                });
                
                function RetrieveSessionData(func){
                    func();
                }
            </script>
        </body>
    </html>
    

    【讨论】:

    • 所以我再次查看了所有内容,似乎 microsoft 网站上的 sn-p 与 github.com/microsoft/… 之间存在差异。我更新了 sn-p 并且 神奇发生了。感谢您的帮助!
    • 感谢您的回复先生,恭喜您的问题得到解决:)
    猜你喜欢
    • 1970-01-01
    • 2022-12-30
    • 2021-09-21
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多