日志输出类,支持四种日志级别:ERROR、WARN、INFO和DEBUG。在输出日志时,它不仅能够记录日志内容,还能记录输出日志的文件名和行号,方便程序员快速定位问题。此外,该代码支持自定义日志标签和输出格式,提高了代码的可扩展性和灵活性。这个日志输出类可以被其他Lua文件轻松引用,通过调用相应的日志输出函数来输出不同级别的日志。该代码是一个实用的工具类,可帮助程序员快速定位问题,提高程序开发效率。
local log = {}
-- 枚举日志级别
log.levels = {
ERROR = 1,
WARN = 2,
INFO = 3,
DEBUG = 4,
}
-- 默认输出级别
log.default_level = log.levels.DEBUG
-- 获取日志输出信息(包括文件名和行号)
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("[ERROR][%s] %s", log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出警告日志
function log.warn(...)
if log.levels.WARN <= log.default_level then
print(string.format("[WARN][%s] %s", log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出普通信息日志
function log.info(...)
if log.levels.INFO <= log.default_level then
print(string.format("[INFO][%s] %s", log.get_debug_info(), table.concat({...}, " ")))
end
end
-- 输出调试信息日志
function log.debug(...)
if log.levels.DEBUG <= log.default_level then
print(string.format("[DEBUG][%s] %s", 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] 调试信息
unity 环境运行测试
欢迎转载,请标明出处.