diff options
| author | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-25 19:45:36 +0300 |
|---|---|---|
| committer | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-25 19:45:36 +0300 |
| commit | f9d9820d401a91a55b1052025233652c7f4c6950 (patch) | |
| tree | 975c51cbe90364d40cb52fbdf905369f60ffc44b | |
| parent | 55dba26bfd2c49bbd07e4da95179a53ce5c163a8 (diff) | |
Fix log level handling in sh9log
| -rw-r--r-- | appl/cmd/sh92.b | 26 | ||||
| -rw-r--r-- | appl/lib/sh9log.b | 11 |
2 files changed, 22 insertions, 15 deletions
diff --git a/appl/cmd/sh92.b b/appl/cmd/sh92.b index 50ee4d1..dc6d22e 100644 --- a/appl/cmd/sh92.b +++ b/appl/cmd/sh92.b @@ -57,7 +57,7 @@ HashVal: import hash; Logger: import sh9l; LOG_DBG, LOG_INF, LOG_WRN, LOG_ERR: import sh9l; logger: ref Logger; -verbosity := LOG_WRN; +verbosity : int; stdin: ref sys->FD; stderr: ref sys->FD; @@ -801,6 +801,7 @@ init(ctxt: ref Draw->Context, argv: list of string) { argv = tl argv; } + verbosity = LOG_WRN; for(; argv != nil && len hd argv && (hd argv)[0]=='-'; argv = tl argv) { case hd argv { "-e" => @@ -809,13 +810,14 @@ init(ctxt: ref Draw->Context, argv: list of string) { nflag = 1; "-l" => lflag = 1; - "-V" => - argv = tl argv; - if(len argv != 1){ - usage(); - return; - } - verbosity = int hd argv; + "-V" => { + argv = tl argv; + if(len argv != 1){ + usage(); + return; + } + verbosity = int hd argv; + }; "-c" => argv = tl argv; if(len argv != 1){ @@ -829,10 +831,6 @@ init(ctxt: ref Draw->Context, argv: list of string) { } } - sys->print("Verbosity: %d\n", verbosity); - logger = ref Logger; - logger.set_level(verbosity); - if (lflag) startup(ctxt, grammar); @@ -861,6 +859,10 @@ init(ctxt: ref Draw->Context, argv: list of string) { if(dfd == nil) return; + sys->print("Verbosity: %d\n", verbosity); + logger = ref Logger; + logger.set_level(verbosity); + offset : int = 0; temp : int; #last_cmdline := array[1024] of int; diff --git a/appl/lib/sh9log.b b/appl/lib/sh9log.b index e4867e4..ca7d8e4 100644 --- a/appl/lib/sh9log.b +++ b/appl/lib/sh9log.b @@ -9,7 +9,7 @@ Logger.dbg(m: self ref Logger, s: string): int { n:=0; if (m.level <= LOG_DBG) { - n = sys->print("[D] %s\n", s); + n = sys->print("[D %d/%d] %s\n", m.level, LOG_DBG, s); } return n; } @@ -43,13 +43,18 @@ Logger.err(m: self ref Logger, s: string): int Logger.set_level(m: self ref Logger, level: int) { - if (m.level >= LOG_ERR) { + sys->print("level: %d\n", level); + if (level >= LOG_ERR) { m.level = LOG_ERR; - } else if (m.level <= LOG_DBG) { + sys->print("log err\n"); + } else if (level <= LOG_DBG) { m.level = LOG_DBG; + sys->print("log dbg\n"); } else { m.level = level; + sys->print("level\n"); } + sys->print("set level %d\n", m.level); } init() |
