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,