syncDateHelper, $this->mappingHelper, $this->relationsHelper, $this->integratinSyncProcess, $this->mauticSyncProcess, $this->eventDispatcher, $this->notifier, $this->syncIntegrationsHelper->getMappingManual($inputOptionsDAO->getIntegration()), $this->internalSyncDataExchange, $this->syncIntegrationsHelper->getSyncDataExchange($inputOptionsDAO->getIntegration()), $inputOptionsDAO, $this ); DebugLogger::log( $inputOptionsDAO->getIntegration(), sprintf( 'Starting %s sync from %s date/time', $inputOptionsDAO->isFirstTimeSync() ? 'first time' : 'subsequent', $inputOptionsDAO->getStartDateTime() ? $inputOptionsDAO->getStartDateTime()->format('Y-m-d H:i:s') : 'yet to be determined' ), self::class.':'.__FUNCTION__ ); try { $integrationSyncProcess->execute(); } catch (ClientException $exception) { // The sync failed to communicate with the integration so log it DebugLogger::log($inputOptionsDAO->getIntegration(), $exception->getMessage(), null, [], LogLevel::ERROR); } } public function initiateDebugLogger(DebugLogger $logger): void { // Yes it's a hack to prevent from having to pass the logger as a dependency into dozens of classes // So not doing anything with the logger, just need Symfony to initiate the service } }