@ fluidframework/app-inights-logger (英语)
概览
这个 app-insights-logger 软件包提供流体遥测日志,将流体遥测路由 Azure App Insights ApplicationInsights.trackEvent API 提供 @ microsoft/ applicationinsights- web 软件包。 登录器是供基于浏览器的网络应用程序使用,而非节点JS应用程序 如App Insights Web SDK所述.
什么是应用透视?
在高水平上,App Insights是一个Azure云服务,用于汇总、可视化、分析和提醒与特定“服务”或“应用”有关的指标. 您创建 App Insights 实例, 然后配置您的应用程序, 用 Azure 提供 SDK 或 REST API 来发送数据给您的实例 . 当您在您的服务机上安装一个记录程序或自定义的测量标准时, 将会自动向实例报告与一般机器相关的健康情况, 您手动配置您要发送的应用程序 。 记住这个日志机是打算与基于浏览器的网络应用程序使用,而不是纯节点JS. 就我们而言,我们正在发送定制指标. 学习更多关于 Azure App Insights 的文档
使用 Fluid 框架库
对于依赖流体框架库的公共API,我们建议 ^ (caret)版本范围.
例如,使用 ^1.3.4。 。 。 .
依赖不稳定的API,例如: beta API,我们推荐一个更具限制性的版本范围.
例如,使用一个 ~ 版本范围.
安装
运行此命令以安装软件包 :
npm i @fluidframework/app-insights-logger
从此软件包导入
此软件包使用 packet.json 导出 通过支持级别将API分离. 有关支助保障的信息改为: API 支持级别。 。 。 .
导入 public API 从 @fluidframework/app-insights-logger。 。 。 .
导入 beta API 从 @fluidframework/app-insights-logger/beta。 。 。 .
API 文档
读取 @ fluidframework/app-inights-logger (英语) API 文档 https://fluidframework.com/docs/apis/app-insights-logger 互联网档案馆的存檔,存档日期2013-12-20。 。 。 .
使用大小写
向Azure App Insights发送遥测的主要用途案例,可以让用户分析和存储遥测日志而无需手动设置复杂的基础设施. 一旦在App Insights用户可以利用Azure的日志探索工具来分析日志.
使用量
要使用此日志, 用户首先必须初始化 ApplicationInsights 从客户端 @microsoft/applicationinsights-web 软件包。 在多数情况下,初始化 ApplicationInsights 客户端将只是提供您的 App Insight 实例连接字符串和呼叫 .loadAppInsights() 在你的客户. 更多地了解应用透视SDK
举例来说
const appInsightsClient = new ApplicationInsights({
config: {
connectionString:
"InstrumentationKey=abcdefgh-ijkl-mnop-qrst-uvwxyz6ffd9c;IngestionEndpoint=https://westus2-2.in.applicationinsights.azure.com/;LiveEndpoint=https://westus2.livediagnostics.monitor.azure.com/",
},
});
// Initializes the App Insights client. Without this, logs will not be sent to Azure.
appInsightsClient.loadAppInsights();
const logger = new createLogger(appInsightsClient);
// Example of sending an event to app insights using the FluidAppInsightsLogger directly
logger.send({ category: "mockEvent", eventName: "mockEventName" });
// More commonly, we would provide the logger to the instance of the Fluid Loader used by your application. This enables Fluid telemetry to be automatically sent to App Insights as your Fluid App is running.
const tinyliciousClient = new TinyliciousClient({
logger,
});
const createContainerResult = await tinyliciousClient.createContainer(containerSchema);
查看 App Insights 中的日志
从Azure的门户网站,导航到你的应用洞察力实例。 现在,用“Logs”作为例子, 这应该是左侧面板中的一个选项。 最后,从此页面可以查询遥测事件,这些事件将存储在自定义Events表格中. 例如,您可以发布这个简单的查询,让最近的遥测事件发送到自定义 Events 表格:
-
获取每个不同的日志事件名称和日志事件类别数
customEvents | summarize count() by name, tostring(customDimensions.category) -
获取所有与性能相关的日志
customEvents | where customDimensions.name == "performance"
客户最低要求
Fluid框架客户端库支持此文档中的平台. 这些要求有意具有限制性. 在一个主要的版本系列中,我们可以放松这些要求,但我们不能使其更严格. 对于长期支持(LTS)版本,我们可能需要支持这些平台几年.
其他配置可以奏效,但Fluid框架不支持. 如果一个不支持的配置停止工作, 我们不会将此归类为错误 . 要请求支持未列出的配置, 请存档 . 产品组会评估你的要求. 在此问题上,请具体说明配置的现状:
- 配置有效但需要官方支持.
- 配置不起作用,需要更改.
支持的运行时间
- Fluid框架支持节点.js版本22和24同时收到 上游支助。 。 。 .
- 流体框架将停止支持第22版 当上游支持于2027-04-30结束时。 。 。 .
- 流体框架不支持节点.js与
--no-experimental-fetch旗帜.
- Fluid框架支持支持ES2022标准库的现代浏览器.
支持的工具
- 类型脚本 6.0数字 :
- 流体框架支持全部
strict选项. - 设定建设目标(
lib, (中文(简体) ),target改为:ES2022或后会. - 启用
strictNullChecks。 。 。 . - 流体框架不支持 在 TypeScript 6.0 中贬值的配置选项。 。 。 .
- 流体框架不完全支持
exactOptionalPropertyTypes。 。 。 . 如果您启用此选项, 请不要使用in, (中文(简体) ),Reflect.has, (中文(简体) ),Object.hasOwn,或Object.prototype.hasOwnProperty改为Fluid框架类型的窄成员. 这些方法可以错误地排除undefined从可能的值.
- 流体框架支持全部
- 网络软件包 页:1
- 我们不需要一个特定的捆绑者. 其他处理ES模块的捆绑机可以工作,但我们只积极测试网页包.
模块分辨率
在类型脚本中 compilerOptions,使用时 Node16, (中文(简体) ), Node20, (中文(简体) ), NodeNext,或 Bundler 模块分辨率.
这些设置遵循 节点.js v12+无害环境管理 分辨率和加载算法。 。 。 .
不使用 Node10 模块分辨率.
模块格式
- ES模块: 使用ES模块来消耗Fluid框架客户端软件包,包括在Node.js中.
- 常见JS : Fluid Framework在3.0版本或后期不正式支持CommonJS.
贡献准则
你们可以 贡献 通过这些方式实现流体框架:
详细指示改为: repo 文档。 。 。 .
本项目遵循 Microsoft 开源行为守则。 。 。 . 更多信息,改为: 《行为守则》经常被问到的问题。 。 。 . 问题或评论,联系 打开码@ microsoft.com。 。 。 .
这个项目可能包含微软项目的商标或标志,产品,或服务. 这些商标或标志的使用必须遵循微软 商标和品牌准则。 。 。 . 在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.
帮助
读取 流体框架文件 用于了解流体框架概念和API.
要求提供文件未载列的资料, 创建问题。 。 。 .
商标
这个项目可能包含微软项目的商标或标志,产品,或服务.
这些商标或标志的使用必须遵循微软的 商标和品牌准则。 。 。 .
在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.