> ## 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.

# Syntax für Log-Abfragen

<Tip>
  Diese Seite beschreibt unsere neueste Abfragesyntax. Für die Syntax mit
  `attributes` siehe unsere [Legacy-Abfragesyntax](/logging/legacy-query-syntax).
</Tip>

Das Log-Filtersystem von AppSignal ermöglicht es Ihnen, Ihre Anwendungs-Logs mit einer intuitiven Abfragesyntax zu durchsuchen und zu filtern. Egal, ob Sie bestimmte Fehlermeldungen finden, nach Schweregraden filtern oder benutzerdefinierte Attribute durchsuchen möchten – mit unserer Abfragesprache können Sie genau das finden, wonach Sie suchen.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/all-logs.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=342b1ad76ab196324dfd3e3d924f932c" alt="Screenshot eines erweiterten Logs" width="1188" height="692" data-path="assets/images/screenshots/logging/all-logs.png" />

## Schnellstart

Beginnen Sie mit diesen einfachen Abfragen:

<CodeGroup>
  ```sql SQL theme={null}
  timeout
  ```
</CodeGroup>

Sucht im Feld „message" nach „timeout".

<CodeGroup>
  ```sql SQL theme={null}
  severity=error
  ```
</CodeGroup>

Findet alle Logs auf Fehlerebene.

<CodeGroup>
  ```sql SQL theme={null}
  severity=error hostname=production-web-1
  ```
</CodeGroup>

Findet Fehler von einem bestimmten Server.

## Verfügbare Felder

Sie können die folgenden Felder in Ihren Logs abfragen:

| Feld                         | Beschreibung                                               | Beispiel                  |
| ---------------------------- | ---------------------------------------------------------- | ------------------------- |
| `severity`                   | Log-Level (error, warning, info, debug, trace)             | `severity=error`          |
| `hostname`                   | Anwendungs-Host                                            | `hostname=production-1`   |
| `group`                      | Für Ihre Anwendung definierter Namensraum                  | `group="background jobs"` |
| `message`                    | Inhalt der Log-Nachricht                                   | `message:timeout`         |
| Benutzerdefinierte Attribute | Jedes in Ihren Logs definierte benutzerdefinierte Attribut | `duration>10.1`           |

Wenn kein Feld angegeben wird, durchsucht die Abfrage das Feld „message".

## Abfrageoperatoren

### Suchoperatoren

| Operator | Syntax         | Beschreibung           | Beispiel          |
| -------- | -------------- | ---------------------- | ----------------- |
| `:`      | `field:value`  | Enthält Wert           | `message:error`   |
| `!:`     | `field!:value` | Enthält Wert nicht     | `hostname!:test`  |
| `=`      | `field=value`  | Exakte Übereinstimmung | `severity=error`  |
| `!=`     | `field!=value` | Nicht gleich           | `source!=mongodb` |

Verwenden Sie Anführungszeichen für Werte mit Leerzeichen: `group:"background jobs"`

### Vergleichsoperatoren

Für numerische Werte:

| Operator | Syntax             | Beschreibung        | Beispiel        |
| -------- | ------------------ | ------------------- | --------------- |
| `>`      | `attribute>value`  | Größer als          | `duration>100`  |
| `<`      | `attribute<value`  | Kleiner als         | `user_id<1000`  |
| `>=`     | `attribute>=value` | Größer oder gleich  | `duration>=100` |
| `<=`     | `attribute<=value` | Kleiner oder gleich | `user_id<=1000` |

### Verschachtelte Attribute

Wir verwenden die folgende Beispiel-JSON-Struktur:

<CodeGroup>
  ```json JSON theme={null}
  {
    "message": "User logged in",
    "group": "admin",
    "hostname": "production-1",
    "user": {
      "id": 123,
      "name": "John Doe",
      "emails": ["john@example.com", "john@work.com"],
      "location.country": "US"
    }
  }
  ```
</CodeGroup>

Fragen Sie verschachtelte JSON-Attribute mithilfe der Punktnotation ab:

<CodeGroup>
  ```sql SQL theme={null}
  user.id=123
  ```
</CodeGroup>

Greifen Sie auf Eigenschaften verschachtelter Objekte zu.

<CodeGroup>
  ```sql SQL theme={null}
  user.emails.0=john@example.com
  ```
</CodeGroup>

Fragen Sie Array-Elemente per Index ab (nullbasiert).

<CodeGroup>
  ```sql SQL theme={null}
  user.location\.country=US
  ```
</CodeGroup>

Maskieren Sie Punkte, die Teil des Feldnamens selbst sind, mit einem Backslash.

## Abfragen kombinieren

### AND-Logik (Standard)

Durch Leerzeichen getrennte Abfragen werden mit AND verknüpft:

<CodeGroup>
  ```sql SQL theme={null}
  severity=error hostname=production-1
  ```
</CodeGroup>

Findet Fehler von production-1.

### OR-Logik

Verwenden Sie `OR`, um beliebige Bedingungen abzugleichen:

<CodeGroup>
  ```sql SQL theme={null}
  severity=error OR severity=warning
  ```
</CodeGroup>

Findet Fehler oder Warnungen.

### Gruppierung mit Klammern

Verwenden Sie Klammern für komplexe Abfragen:

<CodeGroup>
  ```sql SQL theme={null}
  severity=error AND (hostname=web-1 OR hostname=web-2)
  ```
</CodeGroup>

Findet Fehler entweder von web-1 oder web-2.
