Parameters
See plugin common configurations for configuration options available to all plugins.
host
string
required
IP address or hostname of the syslog server.
port
integer
required
Target port of the syslog server.
timeout
integer
default:
3000
vaild vaule:
greater than 0
Timeout for the upstream to send data, in milliseconds.
tls
boolean
default:
false
If true, verify TLS.
flush_limit
integer
default:
4096
vaild vaule:
greater than 0
Maximum size of the buffer and the current message in KB before the logs are pushed to the syslog server.
drop_limit
integer
default:
1048576
vaild vaule:
greater than 0
Maximum size of the buffer and the current message allowed in KB before the logs are dropped.
sock_type
string
default:
tcp
vaild vaule:
tcp
orudp
Transport layer protocol to use.
pool_size
integer
default:
5
vaild vaule:
greater or equal to 5
Keep-alive pool size used by
sock:keepalive
.log_format
object
Custom log format in key-value pairs in JSON format. Support built-in variables in values.
You can also configure log format on a global scale using the plugin metadata, which configures the log format for all
syslog
plugin instances. If the log format configured on the individual plugin instance differs from the log format configured on plugin metadata, the log format configured on the individual plugin instance takes precedence. See the example for more details.include_req_body
boolean
default:
false
If true, include the request body in the log. Note that if the request body is too big to be kept in the memory, it can not be logged due to NGINX's limitations.
include_req_body_expr
array
An array of one or more conditions in the form of APISIX expressions. Used when the
include_req_body
is true. Request body would only be logged when the expressions configured here evaluate to true.include_resp_body
boolean
default:
false
If true, include the response body in the log.
include_resp_body_expr
array
An array of one or more conditions in the form of APISIX expressions. Used when the
include_resp_body
is true. Response body would only be logged when the expressions configured here evaluate to true.name
string
default:
sys logger
Unique identifier of the batch processor. If you use Prometheus to monitor APISIX metrics, the name is exported in
apisix_batch_process_entries
.batch_max_size
integer
default:
1000
vaild vaule:
greater than 0
The number of log entries allowed in one batch. Once reached, the batch will be sent to the logging service. Setting this parameter to 1 means immediate processing.
inactive_timeout
integer
default:
5
vaild vaule:
greater than 0
The maximum time in seconds to wait for new logs before sending the batch to the logging service. The value should be smaller than
buffer_duration
.buffer_duration
integer
default:
60
vaild vaule:
greater than 0
The maximum time in seconds from the earliest entry allowed before sending the batch to the logging service.
retry_delay
integer
default:
1
vaild vaule:
greater or equal to 0
The time interval in seconds to retry sending the batch to the logging service if the batch was not successfully sent.
max_retry_count
integer
default:
60
vaild vaule:
greater or equal to 0
The maximum number of unsuccessful retries allowed before dropping the log entries.