From 55dba26bfd2c49bbd07e4da95179a53ce5c163a8 Mon Sep 17 00:00:00 2001 From: "Konstantin Kirik (snegovick)" Date: Thu, 25 Dec 2025 17:09:35 +0300 Subject: Add logger to control debug printing from single point --- appl/lib/sh9log.b | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 appl/lib/sh9log.b (limited to 'appl/lib/sh9log.b') diff --git a/appl/lib/sh9log.b b/appl/lib/sh9log.b new file mode 100644 index 0000000..e4867e4 --- /dev/null +++ b/appl/lib/sh9log.b @@ -0,0 +1,58 @@ +implement Sh9Log; + +include "sys.m"; +include "sh9log.m"; + +sys: Sys; + +Logger.dbg(m: self ref Logger, s: string): int +{ + n:=0; + if (m.level <= LOG_DBG) { + n = sys->print("[D] %s\n", s); + } + return n; +} + +Logger.inf(m: self ref Logger, s: string): int +{ + n:=0; + if (m.level <= LOG_INF) { + n = sys->print("[I] %s\n", s); + } + return n; +} + +Logger.wrn(m: self ref Logger, s: string): int +{ + n:=0; + if (m.level <= LOG_WRN) { + n = sys->print("[W] %s\n", s); + } + return n; +} + +Logger.err(m: self ref Logger, s: string): int +{ + n:=0; + if (m.level <= LOG_ERR) { + n = sys->print("[E] %s\n", s); + } + return n; +} + +Logger.set_level(m: self ref Logger, level: int) +{ + if (m.level >= LOG_ERR) { + m.level = LOG_ERR; + } else if (m.level <= LOG_DBG) { + m.level = LOG_DBG; + } else { + m.level = level; + } +} + +init() +{ + sys = load Sys Sys->PATH; +} -- cgit v1.2.3