From 3ff1bded99bb72c131d6047302bc3fa012a2c7ce Mon Sep 17 00:00:00 2001 From: themodernhakr Date: Tue, 11 Mar 2025 12:56:31 -0500 Subject: [PATCH] Create logging module --- src/logger.jmc | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/logger.jmc diff --git a/src/logger.jmc b/src/logger.jmc new file mode 100644 index 0000000..6ef3601 --- /dev/null +++ b/src/logger.jmc @@ -0,0 +1,63 @@ +@lazy +function logger(type, message) { + $tmp_logger = false; + if ($logger) { $tmp_logger = $type; } + switch($tmp_logger) { + case 5: + say "FATAL: $message"; + case 4: + say "ERROR: $message"; + case 3: + say "WARNING: $message"; + case 2: + say "INFO: $message"; + case 1: + say "DEBUG: $message"; + default: + return 0; + } +} + +class logger { + @add(__load__) + function __init__() { + if (!$logger) { + $logger = false; + } else if ($logger) { + say "Logging is enabled. You should now see a test log message:"; + logger(2, "This is a test. Logging appears to be working as expected!"); + } 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 logging_toggle() { + switch($logger) { + case 0: + $logger = true; + case 1: + $logger = false; + } + } + + function test_fatal() { + logger(5, "This is a test"); + } + + function test_error() { + logger(4, "This is a test"); + } + + function test_warning() { + logger(3, "This is a test"); + } + + function test_info() { + logger(2, "This is a test"); + } + + function test_debug() { + logger(1, "This is a test"); + } + +}