

# Casos de uso de procesadores comunes
<a name="processor-examples"></a>

A continuación, se muestran escenarios comunes y ejemplos de configuraciones para combinar procesadores:

**Example Estandarización de formatos de registro y adición de metadatos**  
Analice registros JSON, estandarice los nombres de los campos y agregue información del entorno:  

```
processor:
  - parse_json: {}
  - rename_keys:
      entries:
        - from_key: "timestamp"
          to_key: "@timestamp"
        - from_key: "log_level"
          to_key: "level"
  - add_entries:
      entries:
        - key: "environment"
          value: "production"
        - key: "application"
          value: "payment-service"
```

**Example Limpieza y normalización de valores de campos**  
Estandarice los códigos de estado y elimine información confidencial:  

```
processor:
  - uppercase_string:
      with_keys: ["status", "method"]
  - delete_entries:
      with_keys: ["credit_card", "password"]
  - substitute_string:
      entries:
        - source: "status"
          from: "SUCCESS"
          to: "OK"
```

**Example Extracción y transformación de campos específicos**  
Extraiga el formato y la información del usuario para su análisis:  

```
processor:
  - extract_value:
      entries:
        - source: "user_agent"
          target: "browser"
          from: "(?<browser>Chrome|Firefox|Safari)"
          to: "${browser}"
  - lowercase_string:
      with_keys: ["browser"]
  - move_keys:
      entries:
        - from_key: "browser"
          to_key: "user_data.browser"
```

**Example Procesamiento condicional con condiciones de entrada**  
Agregue diferentes metadatos en función de la gravedad del registro mediante condiciones `when` de entrada:  

```
processor:
  - add_entries:
      entries:
        - key: "alert_level"
          value: "critical"
          when: "log.level == 'ERROR'"
        - key: "alert_level"
          value: "info"
          when_else: "log.level == 'ERROR'"
```

**Example Eliminación de entradas de registro no deseadas**  
Filtre las entradas del registro de depuración y rastreo de orígenes externos para reducir el ruido y los costos de almacenamiento:  

```
processor:
  - drop_events:
      when: "log.level in {'DEBUG', 'TRACE'}"
      handle_expression_failure: "skip"
```

**Example Condicional a nivel de procesador con delete\$1entries**  
Elimine los campos confidenciales solo cuando el entorno sea de producción:  

```
processor:
  - delete_entries:
      with_keys: ["password", "api_key", "ssn"]
      when: "environment in {'prod', 'staging'}"
```