当前位置: 首页 > 知识库问答 >
问题:

Java核心应用程序在调试时向azure portal发送应用程序洞察数据(日志),而不是在正常应用程序运行时

漆雕亮
2023-03-14

我有一个java应用程序(不是web),它定期在文件系统和控制台上记录数据。该应用程序构建于Java中,并使用log4j-1.2.17.jar进行日志记录。

我已经将java应用程序配置为将日志数据发送到Azure的application insights资源。

当我在非调试模式下执行代码时,应用程序无法将日志数据发送到azure Portal。请让我知道我缺少了什么,以便应用程序开始以正常模式(非调试)向门户发送数据。

共有1个答案

魏健柏
2023-03-14

根据本文件

遥测不是即时发送的。遥测项目由ApplicationInsights SDK分批发送。在调用Track()方法后立即退出的控制台应用程序中,除非在应用程序退出之前执行Flush()和sleep/delay(如本文后面的完整示例所示),否则无法发送遥测。

您可以添加flush()和sleep()方法进行尝试。

希望这能帮到你。

 类似资料:
  • 如何在使用调试配置时自动禁用应用程序洞察并仅在发布时启用它? 是否可以在不创建另一个仅用于调试的检测密钥的情况下执行此操作? 语句散布在整个代码中,将它们封闭在调试预处理器检查中不是理想的解决方案。 我当前的解决方案是将文件的设置为,这样它就不会复制到项目的输出目录中,但这不是一个可以根据活动生成配置自动完成的过程。 有一个开发人员模式,但需要手动更改(如果有条件地设置配置文件是可能的,那么清空i

  • 我有一个Winforms应用程序,它目前正在使用application Insights SDK捕获错误日志、事件、异常、表单视图和另一个遥测。App Center现在支持WinForms应用程序,它还支持将遥测数据导出到应用程序洞察中。我现在的问题是,我是否应该从WinForms应用程序中删除Application Insights SDK,而使用AppCenter SDK?这样做有什么好处吗?

  • 有没有什么简单的方法可以找到哪些应用程序正在使用azure Portal的特定应用程序洞察? 我已经检查了门户中的各种选项,但没有找到任何易于理解的界面,我可以在其中找到正在向特定应用程序Insights发送数据的应用程序列表。

  • Azure应用程序洞察或日志分析的用例是什么? 我正在使用APIM和Azure函数,并希望对请求执行日志记录。应用洞察和日志分析哪一个最合适? https://docs.microsoft.com/en-gb/Azure/Azure-monitor/overview 更新 特别是关于APIM使用的Azure应用程序洞察与日志分析的任何信息?

  • 嗯,这个例子看起来很不完整,因为它从来没有提到关键字。通过查看源代码,我看到了一个示例(测试?)它在log4j.xml中使用了,但对如何使用或调试实际的记录器没有太多解释。 关于如何实际使用/实现ApplicationInsightsAppender for Log4J,有没有人有任何指示? 以下是github https://github.com/microsoft/applicationins

  • Azure应用程序使用java中的log4j框架洞察日志消息,如下所示。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-trace-logs