diff options
Diffstat (limited to 'nerv/tnn/sutil.lua')
-rw-r--r-- | nerv/tnn/sutil.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/nerv/tnn/sutil.lua b/nerv/tnn/sutil.lua index d88bd8e..78f88c0 100644 --- a/nerv/tnn/sutil.lua +++ b/nerv/tnn/sutil.lua @@ -62,3 +62,18 @@ function Util.parse_commands_set(str) end return coms end + +function Util.log_redirect(fn) + nerv.log_fh = assert(io.open(fn, "w")) + nerv.info("CAUTION[LOG_REDIRECT], all nerv.printf/info/warning/error calls will be double-written to %s", fn) + nerv.printf = + function (fmt, ...) + io.write(nerv.sprintf(fmt, ...)) + nerv.log_fh:write(nerv.sprintf(fmt, ...)) + end + nerv.error = + function (fmt, ...) + nerv.log_fh:write(nerv.sprintf("[nerv] internal error:" .. fmt .. "\n", ...)) + error(nerv.sprintf("[nerv] internal error: " .. fmt .. "\n", ...)) + end +end |