Rewrite filters can be used to modify record contents. Logging operator currently supports the following rewrite functions:

Note: All rewrite functions support an optional condition which has the same syntax as the match filter.

Group unset 🔗︎

The group_unset function removes from the record a group of fields matching a pattern.

  filters:
  - rewrite:
    - group_unset:
        pattern: "json.kubernetes.annotations.*"

Rename 🔗︎

The rename function changes the name of an existing field name.

  filters:
  - rewrite:
    - rename:
        oldName: "json.kubernetes.labels.app"
        newName: "json.kubernetes.labels.app.kubernetes.io/name"

Set 🔗︎

The set function sets the value of a field.

  filters:
  - rewrite:
    - set:
        field: "json.kubernetes.cluster"
        value: "prod-us"

Substitute (subst) 🔗︎

The subst function replaces parts of a field with a replacement value based on a pattern.

  filters:
  - rewrite:
    - subst:
        pattern: "\d\d\d\d-\d\d\d\d-\d\d\d\d-\d\d\d\d"
        replace: "[redacted bank card number]"
        field: "MESSAGE"

The function also supports the type and flags fields for specifying pattern type and flags as described in the match expression regexp function.

Unset 🔗︎

You can unset macros or fields of the message.

Note: Unsetting a field completely deletes any previous value of the field.

  filters:
  - rewrite:
    - unset:
        field: "json.kubernetes.cluster"

Configuration 🔗︎

RewriteConfig 🔗︎

group_unset (*GroupUnsetConfig, optional) 🔗︎

Default: -

rename (*RenameConfig, optional) 🔗︎

Default: -

set (*SetConfig, optional) 🔗︎

Default: -

subst (*SubstituteConfig, optional) 🔗︎

Default: -

unset (*UnsetConfig, optional) 🔗︎

Default: -

RenameConfig 🔗︎

https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide/78#TOPIC-1829213

oldName (string, required) 🔗︎

Default: -

newName (string, required) 🔗︎

Default: -

condition (*MatchExpr, optional) 🔗︎

Default: -

SetConfig 🔗︎

https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide/77#TOPIC-1829207

field (string, required) 🔗︎

Default: -

value (string, required) 🔗︎

Default: -

condition (*MatchExpr, optional) 🔗︎

Default: -

SubstituteConfig 🔗︎

https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide/77#TOPIC-1829206

pattern (string, required) 🔗︎

Default: -

replace (string, required) 🔗︎

Default: -

field (string, required) 🔗︎

Default: -

flags ([]string, optional) 🔗︎

Default: -

type (string, optional) 🔗︎

Default: -

condition (*MatchExpr, optional) 🔗︎

Default: -

UnsetConfig 🔗︎

https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide/78#TOPIC-1829212

field (string, required) 🔗︎

Default: -

condition (*MatchExpr, optional) 🔗︎

Default: -

GroupUnsetConfig 🔗︎

https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide/78#TOPIC-1829212

pattern (string, required) 🔗︎

Default: -

condition (*MatchExpr, optional) 🔗︎

Default: -