feat(apisix): add Cloudron package
- 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>
This commit is contained in:
114
CloudronPackages/APISIX/apisix-source/apisix/utils/rfc5424.lua
Normal file
114
CloudronPackages/APISIX/apisix-source/apisix/utils/rfc5424.lua
Normal file
@@ -0,0 +1,114 @@
|
||||
--
|
||||
-- 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
|
Reference in New Issue
Block a user