aboutsummaryrefslogtreecommitdiff
path: root/nerv/tnn/sutil.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nerv/tnn/sutil.lua')
-rw-r--r--nerv/tnn/sutil.lua15
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