add
This commit is contained in:
107
Assets/trCRM/upgradeRes4Dev/priority/lua/toolkit/CLLPrintEx.lua
Normal file
107
Assets/trCRM/upgradeRes4Dev/priority/lua/toolkit/CLLPrintEx.lua
Normal file
@@ -0,0 +1,107 @@
|
||||
LogLev = {
|
||||
error = 1,
|
||||
warning = 2,
|
||||
debug = 3,
|
||||
}
|
||||
local logLev = LogLev.debug
|
||||
local logBackTraceLev = -1
|
||||
local select = select
|
||||
local table = table
|
||||
local smatch = string.match
|
||||
local sfind = string.find
|
||||
|
||||
---@public 设置日志等级,分别是,debug,warning,error
|
||||
function setLogLev(val)
|
||||
logLev = val or LogLev.debug
|
||||
end
|
||||
|
||||
---@public 设置日志的调用栈信息
|
||||
function setLogBackTraceLev(lev)
|
||||
logBackTraceLev = lev
|
||||
|
||||
if logBackTraceLev > 0 and logBackTraceLev < 3 then
|
||||
logBackTraceLev = 3
|
||||
end
|
||||
end
|
||||
|
||||
local strSplit = function(inputstr, sep)
|
||||
if sep == nil then
|
||||
sep = "%s"
|
||||
end
|
||||
local t = {};
|
||||
local i = 1
|
||||
for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
|
||||
t[i] = str
|
||||
i = i + 1
|
||||
end
|
||||
return t;
|
||||
end
|
||||
|
||||
local trim = function(s)
|
||||
-- return (s:gsub("^%s*(.-)%s*$", "%1"))
|
||||
return smatch(s, '^()%s*$') and '' or smatch(s, '^%s*(.*%S)') -- 性能略优
|
||||
end
|
||||
|
||||
local parseBackTrace = function(traceInfor, level)
|
||||
if traceInfor and level > 1 then
|
||||
local traces = strSplit(traceInfor, "\n")
|
||||
if #traces >= level then
|
||||
local str = trim(traces[level])
|
||||
local sList = strSplit(str, ":")
|
||||
local file = sList[1]
|
||||
local line = sList[2]
|
||||
local func = sList[3] or ""
|
||||
--file = string.match(file, "/%a+%.%a+") or ""
|
||||
func = string.match(func, "'%a+'") or ""
|
||||
return file .. ":" .. line .. ":" .. func
|
||||
end
|
||||
else
|
||||
return traceInfor or ""
|
||||
end
|
||||
end
|
||||
|
||||
local wrapMsg = function (...)
|
||||
local tb = {}
|
||||
local v
|
||||
for i = 1, select("#", ...) do
|
||||
v = select(i, ...)
|
||||
if v or type(v) == "boolean" then
|
||||
table.insert(tb, tostring(v))
|
||||
else
|
||||
table.insert(tb, "nil")
|
||||
end
|
||||
end
|
||||
return table.concat(tb, "|")
|
||||
end
|
||||
|
||||
local luaprint = print
|
||||
|
||||
function print(...)
|
||||
if logLev < LogLev.debug then
|
||||
return
|
||||
end
|
||||
local trace = debug.traceback("")
|
||||
local msg = wrapMsg(...)
|
||||
msg = msg or ""
|
||||
luaprint("[debug]:" .. msg .. "\n" .. parseBackTrace(trace, logBackTraceLev))
|
||||
end
|
||||
|
||||
function printw(...)
|
||||
if logLev < LogLev.warning then
|
||||
return
|
||||
end
|
||||
local trace = debug.traceback("")
|
||||
local msg = wrapMsg(...)
|
||||
msg = msg or ""
|
||||
Utl.printw("[warn]:" .. msg .. "\n" .. parseBackTrace(trace, logBackTraceLev))
|
||||
end
|
||||
|
||||
function printe(...)
|
||||
if logLev < LogLev.error then
|
||||
return
|
||||
end
|
||||
local trace = debug.traceback("")
|
||||
local msg = wrapMsg(...)
|
||||
msg = msg or ""
|
||||
Utl.printe("[err]:" .. msg .. "\n" .. parseBackTrace(trace, logBackTraceLev))
|
||||
end
|
||||
Reference in New Issue
Block a user