54 lines
1.6 KiB
Lua
54 lines
1.6 KiB
Lua
|
|
local tinsert = table.insert
|
|
|
|
local logging = {
|
|
logfilename = "config/rbuilder.log",
|
|
logfh = nil, -- log file handle
|
|
loglines = {}, -- As each line is written, its captured for display if needed.
|
|
}
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
logging.write = function( str )
|
|
|
|
logging.fh = logging.fh or io.open(logging.logfilename, "w")
|
|
assert(logging.fh, "[Fatal Error] Cannot open logfile")
|
|
|
|
tinsert(logging.loglines, str)
|
|
|
|
logging.fh:write(str)
|
|
io.write(str) -- writes to std out as well
|
|
end
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
logging.info = function( infostr )
|
|
logging.write(string.format("[Info] %s\n", infostr))
|
|
end
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
logging.warn = function( warnstr )
|
|
logging.write(string.format("[Warning] %s\n", warnstr))
|
|
end
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
logging.error = function( errstr )
|
|
logging.write(string.format("[Error] %s\n", errstr))
|
|
end
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
logging.cleanup = function( )
|
|
if(logging.logfh) then
|
|
logging.logfh:close()
|
|
end
|
|
end
|
|
|
|
-- --------------------------------------------------------------------------------------
|
|
|
|
return logging
|
|
|
|
-- --------------------------------------------------------------------------------------
|