[[copy-fields]]
=== Copy fields

++++
<titleabbrev>copy_fields</titleabbrev>
++++

The `copy_fields` processor copies a field to another one.

`fields`:: List of `from` and `to` pairs to copy from and to.
`fail_on_error`:: (Optional) If set to true, in case of an error the changes to
the event are reverted, and the original event is returned. If set to `false`,
processing continues also if an error happens. Default is `true`.
`ignore_missing`:: (Optional) Whether to ignore events that lack the source
                   field. The default is `false`, which will fail processing of
                   an event if a field is missing.

For example, this configuration:

[source,yaml]
------------------------------------------------------------------------------
processors:
  - copy_fields:
      fields:
        - from: message
          to: event.original
      fail_on_error: false
      ignore_missing: true
------------------------------------------------------------------------------

Copies the original `message` field to `event.original`:

[source,json]
-------------------------------------------------------------------------------
{
  "message": "my-interesting-message",
  "event": {
      "original": "my-interesting-message"
  }
}
-------------------------------------------------------------------------------
