Docs

Parameters

See plugin common configurations (opens in Apache APISIX docs) for configuration options available to all plugins.

  • auth_config

    object


    Service-account key fields configured on the plugin instance. Configure either auth_config or auth_file. The plugin does not use Google Application Default Credentials. Prefer auth_file when the deployment can mount the key through its secret-management system.

    • client_email

      string

      required


      Email address of the Google Cloud service account.

    • private_key

      string

      required


      Private key of the Google Cloud service account. This field is marked for encrypted storage when APISIX data encryption is enabled. Protect the plaintext value in declarative files and secret-delivery workflows.

    • project_id

      string

      required


      Project ID in the Google Cloud service account.

    • token_uri

      string

      required

      default: https://oauth2.googleapis.com/token


      Token URI of the Google Cloud service account.

    • entries_uri

      string

      default: https://logging.googleapis.com/v2/entries:write


      Google Cloud Logging Service API.

    • scope

      array[string]

      default: ["https://www.googleapis.com/auth/logging.read", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/logging.admin", "https://www.googleapis.com/auth/cloud-platform"]


      Access scopes of the Google Cloud service account. See OAuth 2.0 Scopes for Google APIs. Can also be specified as scopes.

  • auth_file

    string


    Path to a mounted Google Cloud service-account JSON key. Configure either auth_config or auth_file. The file must include the top-level entries_uri used by the plugin. If scope is omitted, the plugin uses https://www.googleapis.com/auth/cloud-platform. The same path must exist in every gateway instance.

  • ssl_verify

    boolean

    default: true


    If true, verify the server's SSL certificate.

  • resource

    object

    default: {"type": "global"}


    Google monitored resource composed of type and optionally labels, for example:

    {
      "type": "gce_instance",
      "labels": {
        "project_id": "my-project",
        "instance_id": "12345678901234",
        "zone": "us-central1-a"
      }
    }

    See MonitoredResource for more details.

  • log_id

    string

    default: apisix.apache.org%2Flogs


    Google Cloud logging ID. See LogEntry for details.

  • log_format

    object


    Custom log format using key-value pairs in JSON format. Values can reference built-in variables (opens in Apache APISIX docs).

    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 (opens in Apache APISIX docs), which configures the log format for all google-cloud-logging 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.

  • 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 (opens in Apache APISIX docs). 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, log_format_extra is ignored.

    Configure additional fields for all google-cloud-logging instances with plugin metadata (opens in Apache APISIX docs). See the example for more details.

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

  • name

    string

    default: google-cloud-logging


    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.

  • 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 (opens in Apache APISIX docs).

    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 (opens in Apache APISIX docs). 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, 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 in API7 Enterprise 3.9.19 on the 3.9 line and 3.10.6 on the 3.10 line. 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 (opens in Apache APISIX docs) for sizing and verification guidance.