From 9a45653eafad95c8cef9aade2b315d355f4258f0 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 1 Feb 2023 19:02:16 +0100 Subject: [PATCH] Ticket system improvement on error handling and logging --- .../MailClient/Data/MailAttachmentData.php | 2 +- .../Modules/Ticket/Task/TicketImportHelper.php | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/classes/Components/MailClient/Data/MailAttachmentData.php b/classes/Components/MailClient/Data/MailAttachmentData.php index 05c1a949..d2c97db0 100644 --- a/classes/Components/MailClient/Data/MailAttachmentData.php +++ b/classes/Components/MailClient/Data/MailAttachmentData.php @@ -161,7 +161,7 @@ class MailAttachmentData implements MailAttachmentInterface $content = $part->getContent(); if ($content === null) { // This should not be throw new InvalidArgumentException( - sprintf('content is null "%s"', substr(print_r($part,true),1000)) + sprintf('content is null "%s"', substr(print_r($part,true),0,1000)) ); } diff --git a/classes/Modules/Ticket/Task/TicketImportHelper.php b/classes/Modules/Ticket/Task/TicketImportHelper.php index 9f29c30f..c58426b6 100644 --- a/classes/Modules/Ticket/Task/TicketImportHelper.php +++ b/classes/Modules/Ticket/Task/TicketImportHelper.php @@ -209,7 +209,7 @@ class TicketImportHelper return($candidate); } - if ($loopCounter > 99) { + if ($loopCounter > 9999) { throw new NumberGeneratorException('ticket number generation failed'); } $loopCounter++; @@ -483,6 +483,9 @@ class TicketImportHelper { $insertedMailsCount = 0; foreach ($inboxMessageIds as $messageNumber) { + + $this->logger->debug("Fetch $messageNumber", ['']); + try { $message = $this->mailClient->fetchMessage((int)$messageNumber); } catch (Throwable $e) { @@ -491,7 +494,8 @@ class TicketImportHelper } try { - $this->logger->debug('Start import', ['message' => $message]); +// $this->logger->debug('Start import', ['message' => substr(print_r($message,true),1000)]); + $this->logger->debug('Start import', []); $result = $this->importMessage($message); @@ -503,10 +507,11 @@ class TicketImportHelper $this->mailClient->setFlags((int)$messageNumber, ['\\Seen']); } } else { - $this->logger->error('Error during email import', ['']); + $this->logger->error('Error during email import', ['message' => substr(print_r($message,true),0,1000)]); + continue; } } catch (Throwable $e) { - $this->logger->error('Error during email import', ['exception' => $e]); + $this->logger->error('Error during email import', ['message' => substr(print_r($message,true),0,1000)]); continue; } } @@ -550,7 +555,7 @@ class TicketImportHelper if ($plainTextBody == '' && $htmlBody == '') { $simple_content = $message->getContent(); if (empty($simple_content)) { - $this->logger->debug('Empty mail',['message' => $message]); + $this->logger->debug('Empty mail',[]); } else { $plainTextBody = $simple_content; $htmlBody = nl2br(htmlentities($simple_content)); @@ -591,7 +596,8 @@ class TicketImportHelper if ($result == 0) { - $this->logger->debug('Importing message',['message' => $message]); +// $this->logger->debug('Importing message',['message' => substr(print_r($message,true),1000)]); + $this->logger->debug('Importing message attachments',[]); try { $attachments = $message->getAttachments();