From c641d9a9ff8a60945fa5c98d5bbfd3b760da3e1c Mon Sep 17 00:00:00 2001 From: martinyde Date: Mon, 23 Jan 2023 14:12:24 +0100 Subject: [PATCH 1/5] Added get orgnized logging --- .../Plugin/WebformHandler/WebformHandler.php | 8 ++++ .../AdvancedQueue/JobType/ArchiveDocument.php | 45 ++++++++++++++++--- .../GetOrganizedWebformHandler.php | 16 +++++++ 3 files changed, 62 insertions(+), 7 deletions(-) diff --git a/web/modules/custom/os2forms_api_request_handler/src/Plugin/WebformHandler/WebformHandler.php b/web/modules/custom/os2forms_api_request_handler/src/Plugin/WebformHandler/WebformHandler.php index 0f231ae3..0f568bb3 100644 --- a/web/modules/custom/os2forms_api_request_handler/src/Plugin/WebformHandler/WebformHandler.php +++ b/web/modules/custom/os2forms_api_request_handler/src/Plugin/WebformHandler/WebformHandler.php @@ -128,6 +128,14 @@ public function postSave(WebformSubmissionInterface $submission, $update = TRUE) ], ]); $queue->enqueueJob($job); + + $logger_context = [ + 'channel' => 'webform_submission', + 'webform_submission' => $submission, + 'operation' => 'submission queued (api request handler)', + ]; + + $this->submissionLogger->notice($this->t('Added submission #@serial to queue for processing', ['@serial' => $submission->serial()]), $logger_context); } /** diff --git a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php index 7151d641..b06207af 100644 --- a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php +++ b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php @@ -5,8 +5,11 @@ use Drupal\advancedqueue\Job; use Drupal\advancedqueue\JobResult; use Drupal\advancedqueue\Plugin\AdvancedQueue\JobType\JobTypeBase; +use Drupal\Core\Logger\LoggerChannelFactoryInterface; +use Drupal\Core\Logger\LoggerChannelInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\os2forms_get_organized\Helper\ArchiveHelper; +use Drupal\webform\Entity\WebformSubmission; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -25,6 +28,13 @@ class ArchiveDocument extends JobTypeBase implements ContainerFactoryPluginInter */ private ArchiveHelper $helper; + /** + * The submission logger. + * + * @var \Drupal\Core\Logger\LoggerChannelInterface + */ + protected LoggerChannelInterface $submissionLogger; + /** * {@inheritdoc} */ @@ -33,7 +43,8 @@ public static function create(ContainerInterface $container, array $configuratio $configuration, $plugin_id, $plugin_definition, - $container->get('os2forms_get_organized.archive_helper') + $container->get('os2forms_get_organized.archive_helper'), + $container->get('logger.factory') ); } @@ -44,26 +55,46 @@ public function __construct( array $configuration, $plugin_id, $plugin_definition, - ArchiveHelper $helper + ArchiveHelper $helper, + LoggerChannelFactoryInterface $loggerFactory ) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->helper = $helper; + $this->submissionLogger = $loggerFactory->get('webform_submission'); } /** * Processes the ArchiveDocument job. */ public function process(Job $job): JobResult { - $payload = $job->getPayload(); - try { - $this->helper->archive($payload['submissionId'], $payload['handlerConfiguration']); + $payload = $job->getPayload(); - return JobResult::success(); + /** @var \Drupal\webform\WebformSubmissionInterface $webformSubmission */ + $webformSubmission = WebformSubmission::load($payload['submission']['id']); + $logger_context = [ + 'channel' => 'webform_submission', + 'webform_submission' => $webformSubmission, + 'operation' => 'response from queue (get organized handler)', + ]; + + try { + $this->helper->archive($payload['submissionId'], $payload['handlerConfiguration']); + $this->submissionLogger->notice($this->t('The submission #@serial was successfully delivered', ['@serial' => $webformSubmission->serial()]), $logger_context); + + return JobResult::success(); + } + catch (\Exception $e) { + $this->submissionLogger->error($this->t('The submission #@serial failed (@message)', [ + '@serial' => $webformSubmission->serial(), + '@message' => $e->getMessage(), + ]), $logger_context); + + return JobResult::failure($e->getMessage()); + } } catch (\Exception $e) { return JobResult::failure($e->getMessage()); } } - } diff --git a/web/modules/custom/os2forms_get_organized/src/Plugin/WebformHandler/GetOrganizedWebformHandler.php b/web/modules/custom/os2forms_get_organized/src/Plugin/WebformHandler/GetOrganizedWebformHandler.php index 1498db7a..ced97db0 100644 --- a/web/modules/custom/os2forms_get_organized/src/Plugin/WebformHandler/GetOrganizedWebformHandler.php +++ b/web/modules/custom/os2forms_get_organized/src/Plugin/WebformHandler/GetOrganizedWebformHandler.php @@ -7,6 +7,7 @@ use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Logger\LoggerChannelFactoryInterface; +use Drupal\Core\Logger\LoggerChannelInterface; use Drupal\Core\Render\RendererInterface; use Drupal\os2forms_get_organized\Plugin\AdvancedQueue\JobType\ArchiveDocument; use Drupal\webform\Plugin\WebformHandlerBase; @@ -29,6 +30,12 @@ * ) */ class GetOrganizedWebformHandler extends WebformHandlerBase { + /** + * The submission logger. + * + * @var \Drupal\Core\Logger\LoggerChannelInterface + */ + protected LoggerChannelInterface $submissionLogger; /** * Constructs a GetOrganizedWebformHandler object. @@ -42,6 +49,7 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition $this->entityTypeManager = $entityTypeManager; $this->conditionsValidator = $conditionsValidator; $this->tokenManager = $tokenManager; + $this->submissionLogger = $loggerFactory->get('webform_submission'); } /** @@ -236,6 +244,14 @@ public function postSave(WebformSubmissionInterface $webform_submission, $update 'handlerConfiguration' => $this->configuration, ]); $queue->enqueueJob($job); + + $logger_context = [ + 'channel' => 'webform_submission', + 'webform_submission' => $webform_submission, + 'operation' => 'submission queued (get organized handler)', + ]; + + $this->submissionLogger->notice($this->t('Added submission #@serial to queue for processing', ['@serial' => $webform_submission->serial()]), $logger_context); } /** From e173624d61ee39643fbcc2465427aa3696c518d9 Mon Sep 17 00:00:00 2001 From: martinyde Date: Mon, 23 Jan 2023 14:39:44 +0100 Subject: [PATCH 2/5] hanged submission id handling --- .../src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php index b06207af..a0fa4427 100644 --- a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php +++ b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php @@ -71,7 +71,7 @@ public function process(Job $job): JobResult { $payload = $job->getPayload(); /** @var \Drupal\webform\WebformSubmissionInterface $webformSubmission */ - $webformSubmission = WebformSubmission::load($payload['submission']['id']); + $webformSubmission = WebformSubmission::load($payload['submissionId']); $logger_context = [ 'channel' => 'webform_submission', 'webform_submission' => $webformSubmission, From 586bc7885b03e94090ec3e3236ca3ed0a5b28041 Mon Sep 17 00:00:00 2001 From: martinyde Date: Mon, 23 Jan 2023 14:45:20 +0100 Subject: [PATCH 3/5] Modified changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcead1dd..3f9f0fb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ Nedenfor ses dato for release og beskrivelse af opgaver som er implementeret. * Tilføjet Book aarhus. * Tilføj conditions til "Mere"-element * Tilføjet Api request handler logging. +* Tilføjet get organized handler logging. ### Fix From 0aafeb4df1fc54ebde5ad3732a084981f9b0564f Mon Sep 17 00:00:00 2001 From: martinyde Date: Mon, 23 Jan 2023 14:48:55 +0100 Subject: [PATCH 4/5] Added spacing --- .../src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php | 1 + 1 file changed, 1 insertion(+) diff --git a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php index a0fa4427..dce4e9a5 100644 --- a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php +++ b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php @@ -97,4 +97,5 @@ public function process(Job $job): JobResult { return JobResult::failure($e->getMessage()); } } + } From df469d8d47ff0f97e37ca050b3abebe8f019ccca Mon Sep 17 00:00:00 2001 From: martinyde Date: Mon, 23 Jan 2023 14:50:19 +0100 Subject: [PATCH 5/5] Added spacing --- .../src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php index dce4e9a5..e871c5fe 100644 --- a/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php +++ b/web/modules/custom/os2forms_get_organized/src/Plugin/AdvancedQueue/JobType/ArchiveDocument.php @@ -97,5 +97,5 @@ public function process(Job $job): JobResult { return JobResult::failure($e->getMessage()); } } - + }