You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.2 KiB
Lua

local skynet = require "skynet"
-- require "skynet.manager"
-- 日志级别
local log_level = {
LOG_DEFAULT = 1,
LOG_TRACE = 1,
LOG_DEBUG = 2,
LOG_INFO = 3,
LOG_WARN = 4,
LOG_ERROR = 5,
LOG_FATAL = 6,
}
local defaultLevel = log_level.LOG_DEBUG
local prefix = ""
function LOG_PREFIX(pre)
prefix = "[" .. pre .. "]"
end
--日志 --
local function logger(str, level, color)
return function (...)
if level >= defaultLevel then
local info = table.pack(...)
info[#info+1] = "\x1b[0m"
skynet.error(string.format("%s%s%s", color, prefix, str), table.unpack(info))
end
end
end
local M = {
TRACE = logger("[trace]", log_level.LOG_TRACE, "\x1b[35m"),
DEBUG = logger("[debug]", log_level.LOG_DEBUG, "\x1b[32m"),
INFO = logger("[info]", log_level.LOG_INFO, "\x1b[34m"),
WARN = logger("[warning]", log_level.LOG_WARN, "\x1b[33m"),
ERROR = logger("[error]", log_level.LOG_ERROR, "\x1b[31m"),
FATAL = logger("[fatal]", log_level.LOG_FATAL,"\x1b[31m")
}
-- 错误日志 --
setmetatable(M, {
__call = function(t)
for k, v in pairs(t) do
_G[k] = v
end
end,
})
M()
return M