summaryrefslogtreecommitdiff
path: root/appl/lib/sh9log.b
diff options
context:
space:
mode:
Diffstat (limited to 'appl/lib/sh9log.b')
-rw-r--r--appl/lib/sh9log.b58
1 files changed, 58 insertions, 0 deletions
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;
+}