# JsonLogProcessor

**Type**: `object`

## Properties

- name: liftFieldNames (optional)
  type: array of string
  description: Object-valued JSON fields whose children are lifted into the containing parsed object. An empty list disables lifting. Lifting repeats recursively when a lifted object contains another configured field. Colliding maps are merged recursively. For leaf values and all other type combinations, the lifted child replaces the existing value; arrays are not combined. If multiple configured fields contain the same child, the later field wins according to these rules.

- name: maxNestedDepthForFields (optional)
  type: integer

- name: maxNestedJsonIterations (optional)
  type: integer
  description: Maximum number of iterations to perform when resolving nested JSON fields.

- name: name (required)
  type: string

- name: preserveJsonMessageField (optional)
  type: boolean
  description: The processor tries to deserialize the string in the 'message' field as JSON, putting all values into the 'attributes' field. If this is enabled, the processor will keep the JSON string in 'message'. When disabled, the string will be cleared.

- name: resolveNestedJsonFields (optional)
  type: array of array of string
  description: If you have JSON that is double serialized, e.g. '{"field": "{\"nested\": \"value\"}"}', you might want to deserialize the nested JSON fields as well. This option allows you to specify the paths within the attributes where we should look for nested JSON fields. All the paths are tried in every iteration, and the deserialized fields are added to the  root of attributes. Use this for singly serialized JSON attribute fields as well.

- name: type (required)
  type: enum: `json-log-processor`
  description: Deserializes the 'message' field as JSON merging the result into the 'attributes' map. Can also deserialize attributes that contain JSON strings.
