}
// 清空popup_windows日志
void nextday_clear_popup_windows_log(void) {
- OHOS::SystemLogModel::GetInstance()->clear_popup_windows_log();
+ // OHOS::SystemLogModel::GetInstance()->clear_popup_windows_log();
}
void save_popup_windows_log_c(int type)
{
// 保存新日志
popup_windows_log.push_back(data);
+ // 如果超过限制,删除最早的日志
+ while (popup_windows_log.size() > 50) {
+ popup_windows_log.pop_front(); // 从前端删除最早的日志
+ }
// 将日志写入文件
- std::ofstream outFile(SYSTEM_LOG_FILE_PATH_POPUP_WINDOWS, std::ios::app);
+ std::ofstream outFile(SYSTEM_LOG_FILE_PATH_POPUP_WINDOWS, std::ios::trunc);
if (!outFile) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
"Failed to open log file for writing");
}
// 将结构体中的数据转换为字符串格式写入文件
- outFile << static_cast<int>(data.type) << " " << data.timestamp << std::endl;
+ for (const auto &log : popup_windows_log) {
+ outFile << static_cast<int>(log.type) << " " << log.timestamp << std::endl;
+ }
outFile.close();
return true;
}
popup_windows_log_data data;
int typeInt;
if (ss >> typeInt >> data.timestamp) {
- data.type = static_cast<popup_windows_type>(typeInt);
+ switch(typeInt)
+ {
+ case 0:
+ data.type = popup_windows_type::MOTION_RECOGNITION;
+ break;
+ case 1:
+ data.type = popup_windows_type::DRINK_WATER_REMINDER;
+ break;
+ case 2:
+ data.type = popup_windows_type::SEDENTARY_REMINDER;
+ break;
+ default:
+ break;
+ }
popup_windows_log.push_back(data);
}
}
}
// 获取日志大小
size_t SystemLogModel::get_popup_windows_log_size() const {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"log size:%d",popup_windows_log.size());
return popup_windows_log.size();
}