javascript - 如何为 Application Insights 获取正确的 JavaScript 日志记录
问题描述
我希望有人可以回答为什么日志记录发生在一个位置而不是另一个位置的问题。我正在使用基于片段的设置来启用日志记录,并且我有两个简单的测试日志,我将它们输入到页面上的 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 日志记录的正确方法的具体示例,还是不能这样做?
解决方案
正如 OP 在评论中所说,微软网站上的代码片段将起作用。
我不确定,但我在我身边进行了测试,它确实有效,这是我的代码。您是否检查过参数中的代码是否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>
推荐阅读
- powerbi - 无法从 SQL Server 加载 PowerBi 中的历史数据
- angular - 根据条件对表单进行角度所需的验证
- ssms - 在 ssms SQLCMD 中运行 .txt 文件
- django - 更新 django 字段中的状态 - status CHOICES
- postgresql - 执行选择查询时出现共享内存不足错误
- python - 使用 lmfit 将信号拟合为方波形式
- docker - 如何在 Dockerfile 中预拉 docker 镜像?
- python - 如何将预先计算的距离矩阵(csv格式)导入python?
- docker - 使用 Pytorch-cuda 作为 Docker 的基础镜像
- php - 为相同分数的学生分配相同的排名