From abfa75eae1e8ac1686ddf855f08595818a25b7bc Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Thu, 5 Jul 2018 21:55:54 +0200 Subject: cal: common: factor out logging --- common.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 common.lua (limited to 'common.lua') diff --git a/common.lua b/common.lua new file mode 100644 index 0000000..fe29d8c --- /dev/null +++ b/common.lua @@ -0,0 +1,28 @@ + +local verboselvl = 0 + +local mk_out = function (stream, threshold, newlinep) + local out = io.stdout + if stream == "err" or stream == "stderr" then out = io.stderr end + return function (...) + if verboselvl >= threshold then + local ok, msg = pcall (stringformat, ...) + if ok then + out:write (msg) + if newlinep == true then out:write "\n" end + ---else silently ignore + end + end + end +end + +local set_verbosity = function (n) verboselvl = n end + +return + { println = mk_out ("stdout", 0, true) + , errorln = mk_out ("stderr", 0, true) + , noiseln = mk_out ("stderr", 1, true) + , debugln = mk_out ("stderr", 2, true) + , set_verbosity = set_verbosity + } + -- cgit v1.2.3