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

# Migrando para a nova sintaxe de consulta

Estamos prestes a migrar você para a nova sintaxe de consulta de logs. Isso permitirá que você consulte seus logs de forma mais eficiente.

A nova sintaxe de consulta impacta as seguintes áreas de logging. Dê uma olhada em cada uma delas para ver as mudanças notáveis:

* [Linguagem de consulta](#query-language)
* [Visualizações salvas](#saved-views)
* [Triggers de log](#log-triggers)
* [Armazenamento de longo prazo](#long-term-storage)

Certifique-se de estar ciente de todas essas mudanças e [entre em contato com o suporte](mailto:support@appsignal.com) para iniciar o processo de migração.

## Linguagem de consulta

A linguagem de consulta muda de algumas formas significativas. Aqui estão algumas das mudanças mais notáveis:

1. **Sem o prefixo `attributes.`** — Atributos personalizados agora podem ser consultados diretamente. Em vez de `attributes.user_id_int=12345`, basta usar `user_id=12345`.

2. **Sem sufixos de tipo** — Você não precisa mais acrescentar `_int`, `_string` ou `_double` aos nomes dos atributos. O mecanismo de consulta determina automaticamente o tipo correto com base no operador que você usa.

3. **Suporte a JSON aninhado** — Consulte objetos aninhados usando notação de ponto: `user.email="user@example.com"` e elementos de arrays por índice: `user.roles.0=admin`.

4. **Lógica OR e parênteses** — Construa consultas complexas com operadores `OR` explícitos e parênteses para agrupamento: `severity=error AND (hostname=web-1 OR hostname=web-2)`.

5. **Sintaxe de lista substituída** — A sintaxe `field=[value1, value2]` foi substituída por declarações OR, que são mais flexíveis e suportam todos os operadores, não apenas correspondências exatas.

Por exemplo:

**Sintaxe antiga:**

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

**Nova sintaxe:**

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

Para detalhes completos sobre a nova sintaxe, consulte nossa [documentação da sintaxe de consulta](/logging/query-syntax). Para referenciar a sintaxe antiga, consulte a [documentação da sintaxe legada de consulta](/logging/legacy-query-syntax).

## Visualizações salvas

Suas visualizações salvas serão atualizadas para a nova sintaxe de consulta. Após a migração, verifique as visualizações em busca de quaisquer problemas.

## Triggers de log

Seus triggers de log serão atualizados para a nova sintaxe de consulta. Após a migração, verifique os triggers em busca de quaisquer problemas.

Triggers que estavam abertos serão fechados, e você receberá novos issues após a migração.

## Armazenamento de longo prazo

Estamos fazendo uma mudança na saída das exportações do [armazenamento de longo prazo](/logging/long-term-log-storage).

Em vez de um campo attributes que contém um mapa unidimensional de pares chave-valor de atributos, exportaremos um objeto JSON em string com todos os atributos.

Por exemplo:

**Saída antiga:**

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

**Nova saída:**

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