Compare commits

...

16 Commits

Author SHA1 Message Date
39e598ddc7 Add body to logger and update existing calls 2025-03-26 10:09:32 -05:00
b6e1d224e5 Fix debug logging messages 2025-03-11 19:55:30 -05:00
9117c84653 Enable debug logging to bypass log level 2025-03-11 19:55:30 -05:00
7bfa12b539 Turn line into macro command 2025-03-11 19:55:30 -05:00
d30418d57a Fix log level message to display current log level 2025-03-11 19:55:30 -05:00
accd746389 Change logger type check to use temp var 2025-03-11 19:55:30 -05:00
cf55f238ff Add logger error for invalid type paramater 2025-03-11 19:55:30 -05:00
68d4b8c25d Add log level threshold
Set default log level to 3, or ERROR. Ensure log level isn't overriden
on reload. Add errors if log level is misconfigured.
2025-03-11 19:55:30 -05:00
686592df33 Add double-quotes back to log messages
Double-quotes were initially removed for aesthetic reasons. However, JMC
collapses whitespace, resulting in mangled message output. Double quotes
are converted to single quotes in compliled output.
2025-03-11 19:55:30 -05:00
28d85c4e02 Remove double-quotes from log messages 2025-03-11 19:55:30 -05:00
5468fa9605 Add "caller" paramteter to logger 2025-03-11 19:55:30 -05:00
daa70062f6 Show status after toggling logger 2025-03-11 19:55:30 -05:00
f4d444635b Revert logger status from printf to say 2025-03-11 19:55:30 -05:00
58ef0a251e Add logger status function 2025-03-11 19:55:30 -05:00
3b6990be85 Rename logger toggle function 2025-03-11 19:55:30 -05:00
3ff1bded99 Create logging module 2025-03-11 19:55:30 -05:00

95
src/logger.jmc Normal file
View File

@ -0,0 +1,95 @@
@lazy
function logger(type, caller, message, body) {
$tmp_logger = false;
$tmp_type = $type;
if ($temp_type > 6 || $temp_type < 1) {
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) {
return;
}
tellraw @a $body;
}
class logger {
@add(__load__)
function __init__() {
if (!$log_level) {
$log_level = 3;
} else if ($log_level > 5) {
say "The log level was too high. Resetting to default value.";
$log_level = 3;
}
execute run {
$say "The log level is set to $(0).";
} with [$log_level];
if (!$logger) {
$logger = false;
} else if ($logger) {
say "Debug logging is enabled. You should now see a test log message:";
logger(2, logger, "This is a test. Logging appears to be working as expected!", false);
} else {
say "This is not a log message. There appears to be something wrong with the logger. It has not been detected as `!true` or `true`. Please investigate.";
}
}
function toggle() {
switch($logger) {
case 0:
$logger = true;
this.status();
case 1:
$logger = false;
this.status();
}
}
function status() {
switch($logger) {
case 0:
say "Debug logging is disabled";
case 1:
say "Debug logging is enabled";
}
}
function test_fatal() {
logger(5, logger, "This is a test", false);
}
function test_error() {
logger(4, logger, "This is a test", false);
}
function test_warning() {
logger(3, logger, "This is a test", false);
}
function test_info() {
logger(2, logger, "This is a test", false);
}
function test_debug() {
logger(1, logger, "This is a test", false);
}
}