2013-04-15 12:27:38 +00:00
|
|
|
local naughty = require("naughty")
|
|
|
|
|
|
|
|
local simplelog = { loggers = {}, mt = {}}
|
|
|
|
|
|
|
|
local defaults = {}
|
|
|
|
local settings = {}
|
|
|
|
|
|
|
|
defaults.loggers = { }
|
|
|
|
defaults.defaultlevel = 0
|
|
|
|
|
|
|
|
for key, value in pairs(defaults) do
|
|
|
|
settings[key] = value
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
local level = {
|
2013-04-15 12:27:38 +00:00
|
|
|
ERROR = 3,
|
|
|
|
WARNING = 2,
|
|
|
|
NORMAL = 1,
|
|
|
|
DEBUG = 0
|
|
|
|
}
|
|
|
|
simplelog.level = level
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
local function loglv(msg, level)
|
2013-04-15 12:27:38 +00:00
|
|
|
for _,logger in ipairs(settings.loggers) do
|
|
|
|
logger(msg, level)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.dbg(msg)
|
2013-04-15 12:27:38 +00:00
|
|
|
loglv(msg, 0)
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.log(msg)
|
2013-04-15 12:27:38 +00:00
|
|
|
loglv(msg, 1)
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.warn(msg)
|
2013-04-15 12:27:38 +00:00
|
|
|
loglv(msg, 2)
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.error(msg)
|
2013-04-15 12:27:38 +00:00
|
|
|
loglv(msg, 3)
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.add_logger(logger, level)
|
2013-04-15 12:27:38 +00:00
|
|
|
if level == nil then
|
|
|
|
level = settings.defaultlevel
|
|
|
|
end
|
|
|
|
table.insert(settings.loggers, function(msg, severity)
|
|
|
|
if severity >= level then
|
|
|
|
logger(msg, severity)
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.loggers.naughty(msg, severity)
|
2013-04-15 12:27:38 +00:00
|
|
|
if severity == level.WARNING then
|
|
|
|
msg = "<span color=\"#ff6\">".. msg .. "</span>"
|
|
|
|
elseif severity == level.ERROR then
|
|
|
|
msg = "<span color=\"#f66\">".. msg .. "</span>"
|
|
|
|
end
|
|
|
|
naughty.notify({ text = msg })
|
|
|
|
end
|
|
|
|
|
2014-04-25 13:14:42 +00:00
|
|
|
function simplelog.loggers.stdio(msg, severity)
|
2013-04-15 12:27:38 +00:00
|
|
|
print(msg)
|
|
|
|
end
|
|
|
|
|
2014-04-25 14:23:54 +00:00
|
|
|
simplelog.mt.__call = function(t,message) simplelog.log(message) end
|
2013-04-15 12:27:38 +00:00
|
|
|
|
|
|
|
return setmetatable(simplelog, simplelog.mt)
|