Skip to main content

Parameters​

See plugin common configurations for configuration options available to all plugins.

  • nameserver_list

    array[string]

    required


    List of RocketMQ nameservers.

  • topic

    string

    required


    Target topic to push the data to.

  • key

    string


    Key of the message.

  • tag

    string


    Tag of the message.

  • log_format

    object


    Custom log format using key-value pairs in JSON format. Values can reference built-in variables.

    When meta_format is default, if include_req_body or include_resp_body is true, reference $request_body or $resp_body to add the collected body to the custom log entry. The options do not add body fields to a custom format automatically.

    When meta_format is origin, this parameter is ignored.

    In APISIX from 3.15.0, log format nested structures are supported up to five levels deep. In API7 Enterprise, only flat key-value structures are supported; nested structures are not yet supported.

    You can also configure log format on a global scale using the plugin metadata, which configures the log format for all rocketmq-logger 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.

  • log_format_extra

    object


    Additional fields to add to the default log entry, using key-value pairs in JSON format. Values can reference built-in variables. A configured field does not overwrite an existing default field. A plugin instance takes precedence over plugin metadata; setting an empty object on the instance disables the metadata value. When log_format is configured or meta_format is origin, log_format_extra is ignored.

    Introduced in API7 Enterprise 3.9.15 and 3.10.2, and APISIX 3.18.0.

  • timeout

    integer

    default: 3


    Timeout in seconds for sending data to RocketMQ.

  • use_tls

    boolean

    default: false


    If true, use TLS for the connection to RocketMQ.

  • access_key

    string


    Access key for ACL. Setting to an empty string will disable the ACL.

  • secret_key

    string


    Secret key for ACL. The value is encrypted with AES before being stored in etcd.

  • name

    string

    default: rocketmq logger


    Unique identifier of the plugin for the batch processor. If you use Prometheus to monitor APISIX metrics, the name is exported in apisix_batch_process_entries.

  • meta_format

    string

    default: default

    vaild vaule:

    default or origin


    Format used to collect request information. Set to default for structured JSON or origin for the original HTTP request. See the example for more details.

  • include_req_body

    boolean

    default: false


    If true, collect the request body. When meta_format is default, add it to the default log fields. When meta_format is origin, append it to the original HTTP request. Request bodies buffered in memory or a temporary file can be logged, and max_req_body_bytes limits the logged body size.

  • include_req_body_expr

    array[array]


    An array of one or more conditions in the form of APISIX expressions. Used when include_req_body is true. The request body is logged only when the expressions evaluate to true.

  • include_resp_body

    boolean

    default: false


    If true, collect the response body. With the default log fields, it is added to response.body. With a custom log_format, reference $resp_body to add it to the log entry. When meta_format is origin, the response body is not added. The max_resp_body_bytes parameter limits the logged body size.

  • include_resp_body_expr

    array[array]


    An array of one or more conditions in the form of APISIX expressions. Used when include_resp_body is true. The response body is logged only when the expressions evaluate to true.

  • max_req_body_bytes

    integer

    default: 524288

    vaild vaule:

    greater than or equal to 1


    Maximum request body size in bytes to include in the log. If the request body exceeds this value, it will be truncated. Available in APISIX from 3.16.0.

  • max_resp_body_bytes

    integer

    default: 524288

    vaild vaule:

    greater than or equal to 1


    Maximum response body size in bytes to include in the log. If the response body exceeds this value, it will be truncated. Available in APISIX from 3.16.0.

  • 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 than 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: 0

    vaild vaule:

    greater than or equal to 0


    The maximum number of unsuccessful retries allowed before dropping the log entries.

Plugin Metadata​

  • log_format

    object


    Custom log format using key-value pairs in JSON format. Values can reference built-in variables.

    Ignored by plugin instances where meta_format is origin.

    In APISIX from 3.15.0, log format nested structures are supported up to five levels deep. In API7 Enterprise, only flat key-value structures are supported; nested structures are not yet supported.

  • log_format_extra

    object


    Additional fields to add to the default log entry, using key-value pairs in JSON format. Values can reference built-in variables. A configured field does not overwrite an existing default field. A plugin instance takes precedence over plugin metadata; setting an empty object on the instance disables the metadata value. When log_format is configured or a plugin instance uses meta_format: origin, log_format_extra is ignored.

    Introduced in API7 Enterprise 3.9.15 and 3.10.2, and APISIX 3.18.0.

  • max_pending_entries

    integer

    default: `8192` in APISIX 3.18.0 and in API7 Enterprise 3.9.19 and 3.10.6; none in API7 Enterprise 3.9.18 and 3.10.5

    vaild vaule:

    greater than or equal to 1


    Maximum number of entries waiting in the batch processor. New entries are discarded when the backlog reaches the limit.

    Introduced in API7 Enterprise 3.8.17 and APISIX 3.15.0.

    The default changed to 8192 in APISIX 3.18.0 and API7 Enterprise 3.9.19 and 3.10.6. In API7 Enterprise 3.9.18 and 3.10.5, and in earlier APISIX versions, omitting the parameter leaves the backlog unlimited.

    See Batch Processor for sizing and verification guidance.