# HG changeset patch # User Matthew Wild # Date 1329078112 0 # Node ID 7a0aa3d055f4e498276dfcafd43d55087fedf3b2 # Parent 6f58f6f3986de88313a662d78e792d000a276425 verse: Accept a file object as a log handler, and automatically call :write() on it with a formatted message diff -r 6f58f6f3986d -r 7a0aa3d055f4 init.lua --- a/init.lua Sun Feb 12 02:27:56 2012 +0100 +++ b/init.lua Sun Feb 12 20:21:52 2012 +0000 @@ -57,10 +57,16 @@ function verse.set_log_handler(log_handler, levels) levels = levels or { "debug", "info", "warn", "error" }; logger.reset(); - local function _log_handler(name, level, message, ...) - return log_handler(name, level, format(message, ...)); + if io.type(log_handler) == "file" then + local f = log_handler; + function log_handler(name, level, message) + f:write(name, "\t", level, "\t", message, "\n"); + end end if log_handler then + local function _log_handler(name, level, message, ...) + return log_handler(name, level, format(message, ...)); + end for i, level in ipairs(levels) do logger.add_level_sink(level, _log_handler); end