# LogReducer

**Type**: `object`

## Properties

- name: attributeMergeStrategyEntries (optional)
  type: array of `AttributesMergeStrategyEntry`
  description: List of attribute paths and their corresponding merge strategies. If no strategy is defined for a path, the terminal merge strategy will be used.

- name: attributeTokenization (optional)
  type: enum: `KEYS_ONLY`, `KEYS_AND_VALUES`
  description: Use attribute shape only, or shape and whole-value similarity tokens.

- name: dedupThreshold (optional)
  type: integer
  description: Number of duplicates we send for a pattern before we start deduplication.

- name: defaultAttributesMergeStrategy (optional)
  type: `AttributesMergeStrategy`

- name: delimiters (required)
  type: array of string
  description: Characters to use for splitting tokens. Default is missing '@' to avoid splitting email addresses. Also missing '.' to avoid splitting identifiers using it.

- name: emitNewPatternSignals (optional)
  type: boolean
  description: Whether this operation may emit LogPatternSignal events to the agent-service when new patterns are detected or replayed. Must be enabled before an agent can subscribe to this pipeline.

- name: enabledMasks (required)
  type: array of string
  description: Masks that are enabled for tokenizing messages. These are specified as the names of the masks to use. The default enabled masks are: ipport, timestamp, uuid, number.

- name: excludedAttributePrefixes (optional)
  type: array of array of string
  description: Excluded attribute prefixes as arrays of literal key segments. Does not affect partition-by values or output attributes.

- name: includedAttributePrefixes (optional)
  type: array of array of string
  description: Included attribute prefixes as arrays of literal key segments. Empty selects all. Array elements are traversed without indices.

- name: integrationExceptionConfigs (optional)
  type: array of `IntegrationExceptionConfig`
  description: Exception configs that define which exceptions to use from the ones imported from the observability vendor integrations.

- name: logReducerExceptions (optional)
  type: array of `EventPredicate`
  description: Predicate for skipping events. Logs matching these predicates won't be aggregated.

- name: masks (required)
  type: array of array of string
  description: Set of masks that can be applied to messages before tokenizing them. These masks are specified as pairs of (name, regex). The default masks are: ipport, timestamp, uuid, number, awsarn, awstoken.

- name: name (required)
  type: string

- name: partitionByAttributePaths (optional)
  type: array of array of string
  description: Attribute paths as arrays of keys. Use for unambiguous nested vs flat attributes. Example: [["user", "id"]] for nested user.id, [["user.id"]] for flat attribute named 'user.id'

- name: partitionByAttributes (optional)
  type: array of string

- name: partitionByTags (optional)
  type: array of string

- name: reductionTimeWindow (optional)
  type: string
  description: Time window in which logs are considered for deduplication. Should not be modified without explicit guidance.

- name: repeatCountInSummaryMessageEnabled (optional)
  type: boolean
  description: Whether to include the repeat count prefix in the summary message. Grepr will add a prefix to the summary message with the number messages aggregated. However, this might break downstream parsing if the message is expected to be in a specific format. If you want to include the repeat count, set this to true.

- name: samplingConfig (optional)
  type: `SamplingConfig`

- name: similarityThreshold (optional)
  type: number
  description: Controls how close a set of tokens are to a pattern before it is considered a match. Calculated as the percent of matching tokens between a pattern and a message.

- name: tokenizationInput (optional)
  type: enum: `MESSAGE_ONLY`, `ATTRIBUTES_ONLY`, `MESSAGE_AND_ATTRIBUTES`, `AUTO`
  description: Selects message text, attributes, both, or message text with an attributes fallback.

- name: type (required)
  type: enum: `log-reducer`
  description: Reduces logs by combining messages with similar patterns.
