如何使用Log4j将自定义属性记录到AppInsight?

问题描述

我一直在网上和SO上寻找此问题的答案。而且我没有看到任何答案,所以想知道是否有可能。我想使用log4j并以JSON格式记录数据到azure的服务AppInsight。我可以在那里得到json数据,但是它以原始文本形式出现。我已经看到可以在此用例中使用遥测技术,但我不想对此感到困惑。我只希望log4j处理我的日志记录。是否可以将JSON记录到azure的AppInsight中,并使其识别为json,然后使其数据可查询?如果可以,怎么办?

解决方法

请原谅,这会增加一些链接,但是根据您要执行的操作,您有不同的选择,因此,我尝试在此处包括尽可能多的信息。

对Application Insights功能及其与Azure Monitor的关系进行了一些相对较新的更改,以巩固和阐明服务的作用。现在,涵盖了Data Collector API和跨资源日志查询之类的大部分Application Insights文档现在都将您带到Azure Monitor。因此,一些Application Insights功能已经淘汰:

https://azure.microsoft.com/en-us/blog/analyze-your-data-with-application-insights-analytics/

”此博客中描述的功能已停用,不再 存在于Application Insights中。或者,您可以发送您的 custom logAzure Monitor log store,即Log 分析。您可以从Log Analytics或您的 使用跨资源查询的Application Insights资源。”

因此,对于您描述的方案,您想使用Azure Monitor。您仍然可以在Application Insights中导入log4j文件,并且可以根据需要将Application Insights API用于自定义事件和指标:

如果您想了解更多信息,这里有一些有用的链接: