From 4c0390f082af94ef9fa76e9916bc402953e6c115 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 27 Sep 2023 11:37:26 +0900 Subject: [PATCH] ErrorMessage class: add notice for non error logging to log file info is already used for write back to front. So we use notice for non error level messages into the log file --- .../CoreLibsLoggingErrorMessagesTest.php | 21 +++++++++++++++++++ www/lib/CoreLibs/Logging/ErrorMessage.php | 7 +++++++ .../CoreLibs/Logging/Logger/MessageLevel.php | 2 ++ 3 files changed, 30 insertions(+) diff --git a/4dev/tests/Logging/CoreLibsLoggingErrorMessagesTest.php b/4dev/tests/Logging/CoreLibsLoggingErrorMessagesTest.php index b14a8ede..3c21d245 100644 --- a/4dev/tests/Logging/CoreLibsLoggingErrorMessagesTest.php +++ b/4dev/tests/Logging/CoreLibsLoggingErrorMessagesTest.php @@ -44,6 +44,11 @@ final class CoreLibsLoggingErrorMessagesTest extends TestCase 'str' => 'INFO', 'expected' => 'info', ], + 'notice' => [ + 'level' => 'notice', + 'str' => 'NOTICE', + 'expected' => 'notice', + ], 'warn' => [ 'level' => 'warn', 'str' => 'WARN', @@ -238,6 +243,22 @@ final class CoreLibsLoggingErrorMessagesTest extends TestCase 'log_error' => true, 'expected' => ' OTHER ERROR MESSAGE', ], + 'notice' => [ + 'id' => '100', + 'level' => 'notice', + 'str' => 'NOTICE MESSAGE', + 'message' => null, + 'log_error' => null, + 'expected' => ' NOTICE MESSAGE', + ], + 'notice, message' => [ + 'id' => '100', + 'level' => 'notice', + 'str' => 'NOTICE MESSAGE', + 'message' => 'OTHER NOTICE MESSAGE', + 'log_error' => null, + 'expected' => ' OTHER NOTICE MESSAGE', + ], 'crash' => [ 'id' => '300', 'level' => 'crash', diff --git a/www/lib/CoreLibs/Logging/ErrorMessage.php b/www/lib/CoreLibs/Logging/ErrorMessage.php index b45bd17f..c54c3c92 100644 --- a/www/lib/CoreLibs/Logging/ErrorMessage.php +++ b/www/lib/CoreLibs/Logging/ErrorMessage.php @@ -42,6 +42,7 @@ class ErrorMessage * error_id: internal Error ID (should be unique) * level: error level, can only be ok, info, warn, error, abort, crash * ok and info are positive response: success + * notice: a debug message for information only * warn: success, but there might be some things that are not 100% ok * error: input error or error in executing request * abort: an internal error happened as mandatory information that normally is @@ -98,6 +99,12 @@ class ErrorMessage ]; // write to log for abort/crash switch ($level) { + case 'notice': + $this->log->notice($message ?? $str, array_merge([ + 'id' => $error_id, + 'level' => $original_level, + ], $context)); + break; case 'error': if ($log_error) { $this->log->error($message ?? $str, array_merge([ diff --git a/www/lib/CoreLibs/Logging/Logger/MessageLevel.php b/www/lib/CoreLibs/Logging/Logger/MessageLevel.php index b3d09278..8efc8bca 100644 --- a/www/lib/CoreLibs/Logging/Logger/MessageLevel.php +++ b/www/lib/CoreLibs/Logging/Logger/MessageLevel.php @@ -15,6 +15,7 @@ enum MessageLevel: int { case ok = 100; case info = 200; + case notice = 250; case warn = 300; case error = 400; case abort = 500; @@ -30,6 +31,7 @@ enum MessageLevel: int return match (strtolower($name)) { 'ok' => self::ok, 'info' => self::info, + 'notice' => self::notice, 'warn', 'warning' => self::warn, 'error' => self::error, 'abort' => self::abort,