local log = {}
-- 枚举日志级别
log.levels = {
ERROR = 1,
WARN = 2,
INFO = 3,
DEBUG = 4,
}
-- 默认输出级别
log.default_level = log.levels.DEBUG
--定义时间格式
log.timeFormat = "%Y-%m-%d %H:%M:%S"
-- 获取日志输出信息(包括文件名和行号)
function log.get_debug_info()
local info = debug.getinfo(3, "Sl")
return string.format("%s:%d", info.short_src, info.currentline)
end
-- 输出错误日志
function log.error(...)
if log.levels.ERROR <= log.default_level then
print(string.format("[%s][ERROR][%s] %s", os.date(log.timeFormat), log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出警告日志
function log.warn(...)
if log.levels.WARN <= log.default_level then
print(string.format("[%s][WARN][%s] %s", os.date(log.timeFormat), log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出普通信息日志
function log.info(...)
if log.levels.INFO <= log.default_level then
print(string.format("[%s][INFO][%s] %s", os.date(log.timeFormat), log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出调试信息日志
function log.debug(...)
if log.levels.DEBUG <= log.default_level then
print(string.format("[%s][DEBUG][%s] %s", os.date(log.timeFormat), log.get_debug_info(), table.concat({...}, " ")))
end
end
return log
local log = require("logger")
log.error("错误信息") -- 输出格式:[ERROR][filename:line] 错误信息
log.warn("警告信息") -- 输出格式:[WARN][filename:line] 警告信息
log.info("普通信息") -- 输出格式:[INFO][filename:line] 普通信息
log.debug("调试信息") -- 输出格式:[DEBUG][filename:line] 调试信息
-- https://blog.csdn.net/u010082265/article/details/129870597