- Implements Apache APISIX packaging for Cloudron platform. - Includes Dockerfile, CloudronManifest.json, and start.sh. - Configured to use Cloudron's etcd addon. 🤖 Generated with Gemini CLI Co-Authored-By: Gemini <noreply@google.com>
115 lines
4.0 KiB
Lua
115 lines
4.0 KiB
Lua
--
|
|
-- Licensed to the Apache Software Foundation (ASF) under one or more
|
|
-- contributor license agreements. See the NOTICE file distributed with
|
|
-- this work for additional information regarding copyright ownership.
|
|
-- The ASF licenses this file to You under the Apache License, Version 2.0
|
|
-- (the "License"); you may not use this file except in compliance with
|
|
-- the License. You may obtain a copy of the License at
|
|
--
|
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
|
--
|
|
-- Unless required by applicable law or agreed to in writing, software
|
|
-- distributed under the License is distributed on an "AS IS" BASIS,
|
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
-- See the License for the specific language governing permissions and
|
|
-- limitations under the License.
|
|
--
|
|
local LOG_EMERG = 0 -- system is unusable
|
|
local LOG_ALERT = 1 -- action must be taken immediately
|
|
local LOG_CRIT = 2 -- critical conditions
|
|
local LOG_ERR = 3 -- error conditions
|
|
local LOG_WARNING = 4 -- warning conditions
|
|
local LOG_NOTICE = 5 -- normal but significant condition
|
|
local LOG_INFO = 6 -- informational
|
|
local LOG_DEBUG = 7 -- debug-level messages
|
|
|
|
local LOG_KERN = 0 -- kernel messages
|
|
local LOG_USER = 1 -- random user-level messages
|
|
local LOG_MAIL = 2 -- mail system
|
|
local LOG_DAEMON = 3 -- system daemons
|
|
local LOG_AUTH = 4 -- security/authorization messages
|
|
local LOG_SYSLOG = 5 -- messages generated internally by syslogd
|
|
local LOG_LPR = 6 -- line printer subsystem
|
|
local LOG_NEWS = 7 -- network news subsystem
|
|
local LOG_UUCP = 8 -- UUCP subsystem
|
|
local LOG_CRON = 9 -- clock daemon
|
|
local LOG_AUTHPRIV = 10 -- security/authorization messages (private)
|
|
local LOG_FTP = 11 -- FTP daemon
|
|
local LOG_LOCAL0 = 16 -- reserved for local use
|
|
local LOG_LOCAL1 = 17 -- reserved for local use
|
|
local LOG_LOCAL2 = 18 -- reserved for local use
|
|
local LOG_LOCAL3 = 19 -- reserved for local use
|
|
local LOG_LOCAL4 = 20 -- reserved for local use
|
|
local LOG_LOCAL5 = 21 -- reserved for local use
|
|
local LOG_LOCAL6 = 22 -- reserved for local use
|
|
local LOG_LOCAL7 = 23 -- reserved for local use
|
|
|
|
local Facility = {
|
|
KERN = LOG_KERN,
|
|
USER = LOG_USER,
|
|
MAIL = LOG_MAIL,
|
|
DAEMON = LOG_DAEMON,
|
|
AUTH = LOG_AUTH,
|
|
SYSLOG = LOG_SYSLOG,
|
|
LPR = LOG_LPR,
|
|
NEWS = LOG_NEWS,
|
|
UUCP = LOG_UUCP,
|
|
CRON = LOG_CRON,
|
|
AUTHPRIV = LOG_AUTHPRIV,
|
|
FTP = LOG_FTP,
|
|
LOCAL0 = LOG_LOCAL0,
|
|
LOCAL1 = LOG_LOCAL1,
|
|
LOCAL2 = LOG_LOCAL2,
|
|
LOCAL3 = LOG_LOCAL3,
|
|
LOCAL4 = LOG_LOCAL4,
|
|
LOCAL5 = LOG_LOCAL5,
|
|
LOCAL6 = LOG_LOCAL6,
|
|
LOCAL7 = LOG_LOCAL7,
|
|
}
|
|
|
|
local Severity = {
|
|
EMEGR = LOG_EMERG,
|
|
ALERT = LOG_ALERT,
|
|
CRIT = LOG_CRIT,
|
|
ERR = LOG_ERR,
|
|
WARNING = LOG_WARNING,
|
|
NOTICE = LOG_NOTICE,
|
|
INFO = LOG_INFO,
|
|
DEBUG = LOG_DEBUG,
|
|
}
|
|
|
|
local log_util = require("apisix.utils.log-util")
|
|
local ipairs = ipairs
|
|
local str_format = string.format
|
|
|
|
local _M = { version = 0.1 }
|
|
|
|
|
|
function _M.encode(facility, severity, hostname, appname, pid, msg, structured_data)
|
|
local pri = (Facility[facility] * 8 + Severity[severity])
|
|
local t = log_util.get_rfc3339_zulu_timestamp()
|
|
if not hostname then
|
|
hostname = "-"
|
|
end
|
|
|
|
if not appname then
|
|
appname = "-"
|
|
end
|
|
|
|
local structured_data_str = "-"
|
|
|
|
if structured_data then
|
|
structured_data_str = "[logservice"
|
|
for _, sd_param in ipairs(structured_data) do
|
|
structured_data_str = structured_data_str .. " " .. sd_param.name
|
|
.. "=\"" .. sd_param.value .. "\""
|
|
end
|
|
structured_data_str = structured_data_str .. "]"
|
|
end
|
|
|
|
return str_format("<%d>1 %s %s %s %d - %s %s\n", pri, t, hostname,
|
|
appname, pid, structured_data_str, msg)
|
|
end
|
|
|
|
return _M
|