我正在尝试使用调用telemetryClient.flush()的Runtime Shutdown Hook来清除我的AI遥测。
我在线程中有两个日志语句,在flush之前和之后,只有第一个触发器。
(整个线程只是第一个日志语句,flush(),然后是第二个日志语句)
我查看了Github上的源代码,我似乎无法找到任何阻止刷新在关闭线程中正常工作的问题。
是否应该使用特殊方式冲洗?
答案 0 :(得分:0)
Efong5,这与Java SDK for Application Insights有关吗?您是否面临有关刷新数据丢失的问题?如果是这样的话,我建议你等一下;理想情况下,冲洗后15秒,任何剩余的遥测都会从包装盒中流出到网络。
答案 1 :(得分:0)
事实证明,此问题是由应用程序关闭的不同部分之间的竞争条件引起的。
如果可能,请在连接到您正在使用的框架的关闭挂钩中刷新,否则如果您使用Runtime.addShutdownHook()
之类的内容,则需要确保在此期间不使用任何记录器。