---
title: "Get a SolaceLog plugin"
method: GET
path: "/{workspace}/plugins/{PluginId}#SolaceLog"
tags: ["Plugins"]
---

# Get a SolaceLog plugin

`GET /{workspace}/plugins/{PluginId}#SolaceLog`

Get a SolaceLog plugin

## Response `200`

SolaceLog plugin

- SolaceLogPlugin — A Plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. It is how you can add functionalities to Services that run behind Kong, like Authentication or Rate Limiting for example. You can find more information about how to install and what values each plugin takes by visiting the [Kong Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration to a Service, every request made by a client to that Service will run said Plugin. If a Plugin needs to be tuned to different values for some specific Consumers, you can do so by creating a separate plugin instance that specifies both the Service and the Consumer, through the `service` and `consumer` fields.
  - `condition` string, nullable — An expression used for conditional control over plugin execution. If the expression evaluates to `true` during the request flow, the plugin is executed; otherwise, it is skipped.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `enabled` boolean, nullable — Whether the plugin is applied.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `instance_name` string, nullable — A unique string representing a UTF-8 encoded name.
  - `name` 'solace-log', required — The name of the Plugin that's going to be added. Currently, the Plugin must be installed in every Kong instance separately.
  - `ordering` object, nullable
    - `after` object
      - `access` string[]
    - `before` object
      - `access` string[]
  - `partials` object[] — A list of partials to be used by the plugin.
    - `id` string — A string representing a UUID (universally unique identifier).
    - `name` string — A unique string representing a UTF-8 encoded name.
    - `path` string
  - `tags` string[], nullable — An optional set of strings associated with the Plugin for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.
  - `config` object, required
    - `message` object, required — The log message related configuration.
      - `ack_timeout` integer — When using a non-DIRECT guaranteed delivery mode, this property sets the log message acknowledgement timeout (waiting time).
      - `custom_fields_by_lua` object — A key-value map that dynamically modifies log fields using Lua code.
      - `delivery_mode` 'DIRECT' | 'PERSISTENT' — Sets the log message delivery mode.
      - `destinations` object[], required — The log message destinations.
        - `name` string, required — The name of the destination. You can use `$(uri_captures['<capture-identifier>'])` in this field to capture the name from a regex request URI (replace `<capture-identifier>` with a real value; for example `$(uri_captures['queue'])` when the matched route has a path `~/(?<queue>[a-z]+)`).
        - `type` 'QUEUE' | 'TOPIC' — The type of the destination.
      - `dmq_eligible` boolean — Sets the dead message queue (DMQ) eligible property on the log message.
      - `priority` integer — Sets the log message priority.
      - `sender_id` string — Allows the application to set the sender identifier.
      - `tracing` boolean — Enable or disable the tracing propagation. This is primarily used for distributed tracing and message correlation, especially in debugging or tracking message flows across multiple systems.
      - `tracing_sampled` boolean — Forcibly turn on the tracing on all the messages for distributed tracing (tracing needs to be enabled as well).
      - `ttl` integer — Sets the time to live (TTL) in milliseconds for the log message. Setting the time to live to zero disables the TTL for the log message.
    - `session` object, required — Session related configuration.
      - `authentication` object — Session authentication related configuration.
        - `access_token` string — The OAuth2 access token used with `OAUTH2` authentication scheme when connecting to an event broker.
        - `access_token_header` string — Specifies the header that contains access token for the `OAUTH2` authentication scheme when connecting to an event broker. This header takes precedence over the `access_token` field.
        - `basic_auth_header` string — Specifies the header that contains Basic Authentication credentials for the `BASIC` authentication scheme when connecting to an event broker. This header takes precedence over the `username` and `password` fields.
        - `client_credentials` object — Client credentials used to automatically obtain and renew OAuth2 access tokens from an IdP for the `CLIENT_CREDENTIALS` authentication scheme. When set, Kong fetches tokens from `token_endpoint` using `client_id` and `client_secret`, caches them until expiry, and retries with a fresh token whenever Solace returns an unauthenticated response.
          - `client_id` string, required — The OAuth2 client ID used with `CLIENT_CREDENTIALS` authentication scheme when connecting to an event broker.
          - `client_secret` string, required — The OAuth2 client secret used with `CLIENT_CREDENTIALS` authentication scheme when connecting to an event broker.
          - `eagerly_expire` integer — Number of seconds before actual expiry when cached access tokens should be considered expired and proactively renewed. This helps prevent edge cases where tokens are rejected by Solace just as they expire, but setting this too high may lead to unnecessary token refreshes.
          - `scopes` string[] — The OAuth2 scopes to request when retrieving access tokens for the `CLIENT_CREDENTIALS` authentication scheme.
          - `ssl_verify` boolean — Controls TLS certificate verification for HTTPS token endpoint requests.
          - `token_endpoint` string, required — The OAuth2 token endpoint URL used to retrieve access tokens for the `CLIENT_CREDENTIALS` authentication scheme when connecting to an event broker.
        - `id_token` string — The OpenID Connect ID token used with `OAUTH2` authentication scheme when connecting to an event broker.
        - `id_token_header` string — Specifies the header that contains id token for the `OAUTH2` authentication scheme when connecting to an event broker. This header takes precedence over the `id_token` field.
        - `password` string — The password used with `BASIC` authentication scheme when connecting to an event broker.
        - `scheme` 'BASIC' | 'CLIENT_CREDENTIALS' | 'NONE' | 'OAUTH2' — The client authentication scheme used when connection to an event broker.
        - `username` string — The username used with `BASIC` authentication scheme when connecting to an event broker.
      - `calculate_message_expiry` boolean — If this property is true and time-to-live has a positive value in a message, the expiration time is calculated when the message is sent or received
      - `connect_timeout` integer — The timeout period (in milliseconds) for a connect operation to a given host (per host).
      - `generate_rcv_timestamps` boolean — When enabled, a receive timestamp is recorded for each message.
      - `generate_send_timestamps` boolean — When enabled, a send timestamp is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `generate_sender_id` boolean — When enabled, a sender id is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `generate_sequence_number` boolean — When enabled, a sequence number is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `host` string, required — The IPv4 or IPv6 address or host name to connect to (see: https://docs.solace.com/API-Developer-Online-Ref-Documentation/c/index.html#host-entry).
      - `properties` object — Additional Solace session properties (each setting needs to have `SESSION_` prefix).
      - `ssl_validate_certificate` boolean — Indicates whether the API should validate server certificates with the trusted certificates.
      - `vpn_name` string — The name of the Message VPN to attempt to join when connecting to an event broker.
  - `protocols` string[] — A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support tcp and tls.
  - `route` object — If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    - `id` string
  - `service` object — If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    - `id` string

## Other responses

- `401` — Unauthorized
- `404` — Resource does not exist

---

[API](https://skmtc.net/kong/apis/kong-enterprise-admin-api.md) · [All operations](https://skmtc.net/kong/apis/kong-enterprise-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/kong-enterprise-admin-api/revisions/28b1f8a59cdc/schema)
