跳到主要内容

参数

请参阅插件通用配置,了解所有插件通用的配置选项。

  • uri

    string

    必填


    HTTP(S) 服务器的 URI。

  • auth_header

    string


    HTTP(S) 服务器所需的授权头(如果需要)。该值在存储到 etcd 前会使用 AES 加密。

  • timeout

    integer

    默认值:3

    有效值:

    大于 0


    发送请求后保持连接活动的时间。

  • log_format

    object


    使用 JSON 格式的键值对的自定义日志格式。值可以引用内置变量

    在 APISIX 3.15.0 及更高版本中,日志格式嵌套结构支持最多五层深度。在 API7 企业版中,仅支持扁平键值结构;尚不支持嵌套结构。

    你还可以使用插件元数据在全局范围内配置日志格式,这将为所有 http-logger 插件实例配置日志格式。如果单个插件实例上配置的日志格式与插件元数据上配置的日志格式不同,则以单个插件实例上配置的日志格式为准。请参阅示例了解更多详情。

  • log_format_extra

    object


    用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。配置 log_format 时,log_format_extra 会被忽略。自 API7 企业版 3.9.15、3.10.2 和 APISIX 3.18.0 起引入。

  • include_req_body

    boolean

    默认值:false


    如果为 true,则在日志中包含请求体。请注意,如果请求体太大而无法保存在内存中,由于 NGINX 的限制,它无法被记录。

  • include_req_body_expr

    array[array]


    一个或多个 APISIX 表达式 形式的条件数组。当 include_req_body 为 true 时使用。仅当此处配置的表达式评估为 true 时,才会记录请求体。

  • include_resp_body

    boolean

    默认值:false


    如果为 true,则在日志中包含响应体。

  • include_resp_body_expr

    array[array]


    一个或多个 APISIX 表达式 形式的条件数组。当 include_resp_body 为 true 时使用。仅当此处配置的表达式评估为 true 时,才会记录响应体。

  • max_req_body_bytes

    integer

    默认值:524288

    有效值:

    大于或等于 1


    日志中包含的请求体大小上限(字节)。如果请求体超过此值,将被截断。自 APISIX 3.16.0 起可用。

  • max_resp_body_bytes

    integer

    默认值:524288

    有效值:

    大于或等于 1


    日志中包含的响应体大小上限(字节)。如果响应体超过此值,将被截断。自 APISIX 3.16.0 起可用。

  • concat_method

    string

    默认值:json

    有效值:

    jsonnew_line


    连接日志的方法。设置为 json 时,对所有挂起的日志使用 json.encode。设置为 new_line 时,也使用 json.encode,但使用换行符 连接行。

  • ssl_verify

    boolean

    默认值:false


    如果为 true,则验证服务器的 SSL 证书。

  • name

    string

    默认值:http logger


    批处理器中的插件唯一标识符。如果使用 Prometheus 监控 APISIX 指标,该名称会导出到 apisix_batch_process_entries 中。

  • batch_max_size

    integer

    默认值:1000

    有效值:

    大于 0


    一个批次允许的日志条目数。达到该数量后,批次会发送到日志服务。将此参数设置为 1 可启用立即处理。

  • inactive_timeout

    integer

    默认值:5

    有效值:

    大于 0


    发送批次前等待新日志的最长时间,单位为秒。该值应小于 buffer_duration

  • buffer_duration

    integer

    默认值:60

    有效值:

    大于 0


    从最早条目起计,发送批次前允许等待的最长时间,单位为秒。

  • retry_delay

    integer

    默认值:1

    有效值:

    大于或等于 0


    批次失败后重试前的等待时间,单位为秒。

  • max_retry_count

    integer

    默认值:0

    有效值:

    大于或等于 0


    丢弃日志条目前允许的最大失败重试次数。

插件元数据

  • log_format

    object


    使用 JSON 格式的键值对的自定义日志格式。值可以引用内置变量

    在 APISIX 3.15.0 及更高版本中,日志格式嵌套结构支持最多五层深度。在 API7 企业版中,仅支持扁平键值结构;尚不支持嵌套结构。

  • log_format_extra

    object


    用于向默认日志条目添加额外字段,使用 JSON 格式的键值对。值可引用内置变量。已配置的字段不会覆盖现有默认字段。插件实例优先于插件元数据;在实例上设置空对象会禁用元数据值。配置 log_format 时,log_format_extra 会被忽略。自 API7 企业版 3.9.15、3.10.2 和 APISIX 3.18.0 起引入。

  • max_pending_entries

    integer

    默认值:在 APISIX 3.18.0 与 API7 企业版 3.9.19、3.10.6 中为 `8192`;API7 企业版 3.9.18 与 3.10.5 中无默认值

    有效值:

    大于或等于 1


    批处理器中等待处理的最大条目数。当积压达到此限制时,新条目会被丢弃。

    此参数在 API7 企业版 3.8.17 和 APISIX 3.15.0 中引入。

    在 APISIX 3.18.0、API7 企业版 3.9 分支的 3.9.19 以及 3.10 分支的 3.10.6 中,默认值变更为 8192。在 API7 企业版 3.9.18、3.10.5 及更早的 APISIX 版本中,省略该参数会使积压队列不设上限。

    有关容量规划和验证指南,请参见批处理器