From 915988215d36e9e131ec89516aab96d02faf5a4a Mon Sep 17 00:00:00 2001 From: themodernhakr Date: Fri, 28 Mar 2025 12:54:05 -0500 Subject: [PATCH] Allow logging to take storages as message inputs Message inputs with a leading "::" will be parsed as storages. All other message inputs will be parsed as strings. --- src/logger.jmc | 66 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/src/logger.jmc b/src/logger.jmc index aea7875..00b9eac 100644 --- a/src/logger.jmc +++ b/src/logger.jmc @@ -1,3 +1,43 @@ +@lazy +function messagePrinter(name, caller, message) { + ::tmp.string = $message; + ::tmp.sub = ::tmp.string[0:1]; + if (String.isEqual("ferdinland:ferdinland", "tmp.sub", "::")) { + ::temp.message = ::tmp.string[2:]; + execute run { + switch($tmp_logger) { + case 5: + say "FATAL: ($caller) $(message)"; + case 4: + say "ERROR: ($caller) $(message)"; + case 3: + say "WARNING: ($caller) $(message)"; + case 2: + say "INFO: ($caller) $(message)"; + case 1: + say "DEBUG: ($caller) $(message)"; + default: + return 0; + } + } with ::temp; + } else { + switch($tmp_logger) { + case 5: + say "FATAL: ($caller) $message"; + case 4: + say "ERROR: ($caller) $message"; + case 3: + say "WARNING: ($caller) $message"; + case 2: + say "INFO: ($caller) $message"; + case 1: + say "DEBUG: ($caller) $message"; + default: + return 0; + } + } +} + @lazy function logger(type, caller, message, body) { $tmp_logger = false; @@ -6,25 +46,17 @@ function logger(type, caller, message, body) { say "The log type requested does not exist. Please find the caller ($caller) and resolve this issue."; } if ($temp_type >= $log_level || $logger) { $tmp_logger = $type; } - switch($tmp_logger) { - case 5: - say "FATAL: ($caller) $message"; - case 4: - say "ERROR: ($caller) $message"; - case 3: - say "WARNING: ($caller) $message"; - case 2: - say "INFO: ($caller) $message"; - case 1: - say "DEBUG: ($caller) $message"; - default: - return 0; - } - $isBody = $body; - if ($isBody) { + + if (!$tmp_logger) { return; + } else { + messagePrinter($type, $caller, $message); + + $isBody = $body; + if ($isBody) { + tellraw @a $body; + } } - tellraw @a $body; } class logger {