Access logging

    (required, string) Path the access log is written to.

    format

    (optional, string) Access log format. Envoy supports as well as a default format.

    filter

    (optional, object) which is used to determine if the access log needs to be written.

    Filters

    Envoy supports the following access log filters:

    1. "filter": {
    2. "type": "status_code",
    3. "op": "...",
    4. "value": "...",
    5. "runtime_key": "..."
    6. }
    7. }

    Filters on HTTP response/status code.

    op

    value

    (required, integer) Default value to compare against if runtime value is not available.

    runtime_key

    (optional, string) Runtime key to get value for comparison. This value is used if defined.

    Duration

    Filters on total request duration in milliseconds.

    op

    (required, string) Comparison operator. Currently >= and \= are the only supported operators.

    value

    runtime_key

    (optional, string) Runtime key to get value for comparison. This value is used if defined.

    1. "filter": {
    2. "type": "not_healthcheck"
    3. }

    Filters for requests that are not health check requests. A health check request is marked by the health check filter.

    Traceable

    Filters for requests that are traceable. See the for more information on how a request becomes traceable.

    1. {
    2. "filter": {
    3. "type": "runtime",
    4. }
    5. }

    Filters for random sampling of requests. Sampling pivots on the header x-request-id being present. If is present, the filter will consistently sample across multiple hosts based on the runtime key value and the value extracted from x-request-id. If it is missing, the filter will randomly sample based on the runtime key value.

    key

    (required, string) Runtime key to get the percentage of requests to be sampled. This runtime control is specified in the range 0-100 and defaults to 0.

    And

    Performs a logical “and” operation on the result of each filter in filters. Filters are evaluated sequentially and if one of them returns false, the filter returns false immediately.

    1. {
    2. "filter": {
    3. "type": "logical_or",
    4. "filters": []
    5. }