@Nullable
  private static ValidationErrorInfo validate(@Nullable LogEventRecordRequest request, @NotNull File file) {
    if (request == null) {
      return new ValidationErrorInfo("File is empty or has invalid format: " + file.getName(), 1);
    }

    if (isEmpty(request.getDevice())) {
      return new ValidationErrorInfo("Cannot upload event log, device ID is empty", 2);
    }
    else if (isEmpty(request.getProduct())) {
      return new ValidationErrorInfo("Cannot upload event log, product code is empty", 3);
    }
    else if (isEmpty(request.getRecorder())) {
      return new ValidationErrorInfo("Cannot upload event log, recorder code is empty", 4);
    }
    else if (request.getRecords().isEmpty()) {
      return new ValidationErrorInfo("Cannot upload event log, record list is empty", 5);
    }

    for (LogEventRecord content : request.getRecords()) {
      if (content.getEvents().isEmpty()) {
        return new ValidationErrorInfo("Cannot upload event log, event list is empty", 6);
      }
    }
    return null;
  }
@Nullable
  private static ValidationErrorInfo validate(@Nullable LogEventRecordRequest request, @NotNull File file)