SLS HarmonyOS SDK通过本地文件缓存机制实现断点续传,保证日志上传的At Least Once语义。当应用调用addLog写入日志时,SDK先将日志存入内存缓存队列,同时支持将日志缓存到本地文件进行持久化。SDK的异步发送线程从队列中取出日志进行聚合压缩后发送到SLS服务端,只有当服务端确认接收成功后才会删除本地缓存的日志数据。如果发送过程中遇到网络中断或其他异常,日志数据会保留在本地文件中,等待网络恢复后继续发送。SDK还支持设置内存缓存上限,当内存占用超过上限时新的写入会失败,防止内存溢出影响应用正常运行。聚合发送支持按超时时间、日志条数和日志大小三种维度触发,结合lz4和zstd压缩可以有效减少网络传输量。这种设计确保了即使在网络不稳定的移动端场景下日志数据也不会丢失。
加载中...