在关机

时间:2017-11-29 20:35:01

标签: java shutdown azure-application-insights

我正在尝试使用调用telemetryClient.flush()的Runtime Shutdown Hook来清除我的AI遥测。

我在线程中有两个日志语句,在flush之前和之后,只有第一个触发器。

(整个线程只是第一个日志语句,flush(),然后是第二个日志语句)

我查看了Github上的源代码,我似乎无法找到任何阻止刷新在关闭线程中正常工作的问题。

是否应该使用特殊方式冲洗?

2 个答案:

答案 0 :(得分:0)

Efong5,这与Java SDK for Application Insights有关吗?您是否面临有关刷新数据丢失的问题?如果是这样的话,我建议你等一下;理想情况下,冲洗后15秒,任何剩余的遥测都会从包装盒中流出到网络。

答案 1 :(得分:0)

事实证明,此问题是由应用程序关闭的不同部分之间的竞争条件引起的。

如果可能,请在连接到您正在使用的框架的关闭挂钩中刷新,否则如果您使用Runtime.addShutdownHook()之类的内容,则需要确保在此期间不使用任何记录器。