Files
2026-07-13 12:32:21 +08:00

80 lines
1.4 KiB
Lua

local pl_utils = require "pl.utils"
local concat = table.concat
local select = select
local type = type
local function init_cli()
local log = require "kong.cmd.utils.log"
pl_utils.set_deprecation_func(function(msg, trace)
if trace then
log.warn(msg, " ", trace)
else
log.warn(msg)
end
end)
end
local function init()
local log = ngx.log
local warn = ngx.WARN
pl_utils.set_deprecation_func(function(msg, trace)
if kong and kong.log then
if trace then
kong.log.deprecation.write(msg, " ", trace)
else
kong.log.deprecation.write(msg)
end
else
if trace then
log(warn, msg, " ", trace)
else
log(warn, msg)
end
end
end)
end
local deprecation = {}
function deprecation.init(is_cli)
if is_cli then
init_cli()
else
init()
end
end
function deprecation.raise(...)
local argc = select("#", ...)
local last_arg = select(argc, ...)
if type(last_arg) == "table" then
pl_utils.raise_deprecation({
message = concat({ ... }, nil, 1, argc - 1),
deprecated_after = last_arg.after,
version_removed = last_arg.removal,
no_trace = not last_arg.trace,
})
else
pl_utils.raise_deprecation({
message = concat({ ... }, nil, 1, argc),
no_trace = true,
})
end
end
return setmetatable(deprecation, {
__call = function(_, ...)
return deprecation.raise(...)
end
})