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

# Sintaxe de consulta de logs

<Tip>
  Esta página descreve nossa sintaxe de consulta mais recente. Para a sintaxe
  usando `attributes`, veja nossa [sintaxe legada de consulta](/logging/legacy-query-syntax)
</Tip>

O sistema de filtragem de logs do AppSignal permite pesquisar e filtrar os logs da sua aplicação usando uma sintaxe de consulta intuitiva. Seja para encontrar mensagens de erro específicas, filtrar por níveis de severidade ou pesquisar atributos personalizados, nossa linguagem de consulta torna fácil identificar exatamente o que você está procurando.

<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="Captura de tela de log expandido" width="1188" height="692" data-path="assets/images/screenshots/logging/all-logs.png" />

## Início rápido

Comece com estas consultas simples:

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

Pesquisa por "timeout" no campo message.

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

Encontra todos os logs de nível error.

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

Encontra erros de um servidor específico.

## Campos disponíveis

Você pode consultar os seguintes campos em seus logs:

| Campo                    | Descrição                                             | Exemplo                   |
| ------------------------ | ----------------------------------------------------- | ------------------------- |
| `severity`               | Nível do log (error, warning, info, debug, trace)     | `severity=error`          |
| `hostname`               | Host da aplicação                                     | `hostname=production-1`   |
| `group`                  | Namespace definido para sua aplicação                 | `group="background jobs"` |
| `message`                | Conteúdo da mensagem de log                           | `message:timeout`         |
| Atributos personalizados | Qualquer atributo personalizado definido em seus logs | `duration>10.1`           |

Se nenhum campo for fornecido, a consulta pesquisará no campo message.

## Operadores de consulta

### Operadores de pesquisa

| Operador | Sintaxe        | Descrição             | Exemplo           |
| -------- | -------------- | --------------------- | ----------------- |
| `:`      | `field:value`  | Contém valor          | `message:error`   |
| `!:`     | `field!:value` | Não contém valor      | `hostname!:test`  |
| `=`      | `field=value`  | Correspondência exata | `severity=error`  |
| `!=`     | `field!=value` | Diferente de          | `source!=mongodb` |

Use aspas para valores com espaços: `group:"background jobs"`

### Operadores de comparação

Para valores numéricos:

| Operador | Sintaxe            | Descrição        | Exemplo         |
| -------- | ------------------ | ---------------- | --------------- |
| `>`      | `attribute>value`  | Maior que        | `duration>100`  |
| `<`      | `attribute<value`  | Menor que        | `user_id<1000`  |
| `>=`     | `attribute>=value` | Maior ou igual a | `duration>=100` |
| `<=`     | `attribute<=value` | Menor ou igual a | `user_id<=1000` |

### Atributos aninhados

Usaremos a seguinte estrutura JSON de exemplo:

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

Consulte atributos JSON aninhados usando notação de ponto:

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

Acesse propriedades de objetos aninhados.

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

Consulte elementos de array por índice (base zero).

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

Faça escape dos pontos que fazem parte do próprio nome do campo usando uma barra invertida.

## Combinando consultas

### Lógica AND (padrão)

Consultas separadas por espaço são combinadas com AND:

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

Encontra erros do production-1.

### Lógica OR

Use `OR` para corresponder a qualquer condição:

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

Encontra erros ou avisos.

### Agrupamento com parênteses

Use parênteses para consultas complexas:

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

Encontra erros tanto do web-1 quanto do web-2.
