You are browsing documentation for an outdated plugin version.
Configuration
This plugin is compatible with DB-less mode.
Compatible protocols
The HTTP Log plugin is compatible with the following protocols:
grpc
, grpcs
, http
, https
, tcp
, tls
, tls_passthrough
, udp
, ws
, wss
Parameters
Here's a list of all the parameters which can be used in this plugin's configuration:
-
name or plugin
string requiredThe name of the plugin, in this case
http-log
.- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
name
. - If using the KongPlugin object in Kubernetes, the field is
plugin
.
- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
-
service.name or service.id
stringThe name or ID of the service the plugin targets. Set one of these parameters if adding the plugin to a service through the top-level
/plugins
endpoint. Not required if using/services/{serviceName|Id}/plugins
. -
route.name or route.id
stringThe name or ID of the route the plugin targets. Set one of these parameters if adding the plugin to a route through the top-level
/plugins
endpoint. Not required if using/routes/{routeName|Id}/plugins
. -
consumer.name or consumer.id
stringThe name or ID of the consumer the plugin targets. Set one of these parameters if adding the plugin to a consumer through the top-level
/plugins
endpoint. Not required if using/consumers/{consumerName|Id}/plugins
. -
enabled
boolean default:true
Whether this plugin will be applied.
-
config
record required-
http_endpoint
string required encryptedThe HTTP URL endpoint (including the protocol to use) to which the data is sent.
If the
http_endpoint
contains a username and password (for example,http://bob:password@example.com/logs
), then Kong Gateway automatically includes a basic-authAuthorization
header in the log requests.
-
method
string default:POST
Must be one of:POST
,PUT
,PATCH
An optional method used to send data to the HTTP server. Supported values are
POST
(default),PUT
, andPATCH
.
-
content_type
string default:application/json
Must be one of:application/json
Indicates the type of data sent. The only available option is
application/json
.
-
timeout
number default:10000
An optional timeout in milliseconds when sending data to the upstream server.
-
keepalive
number default:60000
An optional value in milliseconds that defines how long an idle connection will live before being closed.
-
retry_count
integer default:10
Number of times to retry when sending data to the upstream server.
-
queue_size
integer default:1
Maximum number of log entries to be sent on each message to the upstream server.
-
flush_timeout
number default:2
Optional time in seconds. If
queue_size
> 1, this is the max idle time before sending a log with less thanqueue_size
records.
-
headers
mapAn optional table of headers included in the HTTP message to the upstream server. Values are indexed by header name, and each header name accepts a single string.
The following headers are not allowed:
Host
,Content-Length
,Content-Type
.Note: Before version 3.0.0, the values were arrays of strings (multiple values per header name).
-
custom_fields_by_lua
mapA list of key-value pairs, where the key is the name of a log field and the value is a chunk of Lua code, whose return value sets or replaces the log field value.
-