> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration zur neuen Abfragesyntax

Wir werden Sie in Kürze zur neuen Abfragesyntax für das Logging migrieren. Dadurch können Sie Ihre Logs effizienter abfragen.

Die neue Abfragesyntax wirkt sich auf folgende Logging-Bereiche aus. Schauen Sie sich jeden davon an, um die wichtigsten Änderungen zu sehen:

* [Abfragesprache](#query-language)
* [Gespeicherte Ansichten](#saved-views)
* [Log-Trigger](#log-triggers)
* [Langzeitspeicherung](#long-term-storage)

Stellen Sie sicher, dass Sie sich all dieser Änderungen bewusst sind, und [kontaktieren Sie den Support](mailto:support@appsignal.com), um den Migrationsprozess zu starten.

## Abfragesprache

Die Abfragesprache ändert sich in einigen wesentlichen Punkten. Hier sind einige der wichtigsten Änderungen:

1. **Kein `attributes.`-Präfix mehr** — Benutzerdefinierte Attribute können jetzt direkt abgefragt werden. Anstelle von `attributes.user_id_int=12345` verwenden Sie einfach `user_id=12345`.

2. **Keine Typ-Suffixe mehr** — Sie müssen `_int`, `_string` oder `_double` nicht mehr an Attributnamen anhängen. Die Abfrage-Engine bestimmt den korrekten Typ automatisch basierend auf dem verwendeten Operator.

3. **Unterstützung für verschachteltes JSON** — Fragen Sie verschachtelte Objekte über Punktnotation ab: `user.email="user@example.com"` und Array-Elemente per Index: `user.roles.0=admin`.

4. **OR-Logik und Klammern** — Erstellen Sie komplexe Abfragen mit expliziten `OR`-Operatoren und Klammern zur Gruppierung: `severity=error AND (hostname=web-1 OR hostname=web-2)`.

5. **Listensyntax ersetzt** — Die Syntax `field=[value1, value2]` wird durch OR-Anweisungen ersetzt, was flexibler ist und alle Operatoren unterstützt, nicht nur exakte Übereinstimmungen.

Zum Beispiel:

**Alte Syntax:**

<CodeGroup>
  ```sh Shell theme={null}
  message:"API request" attributes.user_id_int=12345 severity=[info, warn]
  ```
</CodeGroup>

**Neue Syntax:**

<CodeGroup>
  ```sh Shell theme={null}
  message:"API request" user.id=12345 (severity=info OR severity=warn)
  ```
</CodeGroup>

Für vollständige Details zur neuen Syntax siehe unsere [Dokumentation zur Abfragesyntax](/logging/query-syntax). Zur Referenz der alten Syntax siehe die [Dokumentation zur Legacy-Abfragesyntax](/logging/legacy-query-syntax).

## Gespeicherte Ansichten

Ihre gespeicherten Ansichten werden auf die neue Abfragesyntax aktualisiert. Überprüfen Sie nach der Migration die Ansichten auf etwaige Probleme.

## Log-Trigger

Ihre Log-Trigger werden auf die neue Abfragesyntax aktualisiert. Überprüfen Sie nach der Migration die Trigger auf etwaige Probleme.

Trigger, die geöffnet waren, werden geschlossen, und Sie erhalten nach der Migration neue Issues.

## Langzeitspeicherung

Wir nehmen eine Änderung am Output der [Langzeitspeicher](/logging/long-term-log-storage)-Exporte vor.

Anstelle eines Attributfeldes, das eine eindimensionale Map von Attribut-Schlüssel-Wert-Paaren enthält, exportieren wir ein als String formatiertes JSON-Objekt mit allen Attributen.

Zum Beispiel:

**Alter Output:**

<CodeGroup>
  ```json JSON theme={null}
  {
    "timestamp": "1970-01-01 00:04:00.000",
    "source_id": "source-json",
    "hostname": null,
    "group": "group",
    "severity": "info",
    "message": null,
    "attributes": {
      "user.name": "alice",
      "user.id": "123",
      "request_id": "abc-123",
      "status_code": "200",
      "response_time": "45.67",
      "success": "true"
    }
  }
  ```
</CodeGroup>

**Neuer Output:**

<CodeGroup>
  ```json JSON theme={null}
  {
    "timestamp": "1970-01-01 00:04:00.000",
    "hostname": null,
    "group": "group",
    "severity": "info",
    "message": null,
    "source_id": "source-json",
    "attributes": "{\"user\": {\"name\":\"alice\", \"id\":\"123\"},\"request_id\":\"abc-123\",\"status_code\":200,\"response_time\":45.67,\"success\":true}"
  }
  ```
</CodeGroup>
