Create general purpose logging module #4

Merged
ehrumsey merged 15 commits from dev-logging into dev 2025-03-11 20:31:37 -05:00
Showing only changes of commit 3ff1bded99 - Show all commits

63
src/logger.jmc Normal file
View File

@ -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");
}
}