80 lines
1.4 KiB
Lua
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
|
|
})
|