# Como extrair Logs do Sistema

{% hint style="warning" %}
**IMPORTANTE: OS LOGS SÃO INDISPENSÁVEIS PARA O SUPORTE**

Os logs são o "caixa-preta" do sistema. Eles registram exatamente o que aconteceu no momento de um erro.

**Sem o envio dos logs, nossa equipe não consegue analisar o que está ocorrendo na sua infraestrutura.** Antes de abrir um chamado relatando falhas, por favor, extraia os logs seguindo os passos abaixo. Isso agiliza (e muito) a solução do seu problema.
{% endhint %}

Existem dois tipos principais de logs que podem ser solicitados:

1. **Backend (Terminal):** Para erros de conexão, API, WhatsApp, envio de mensagens e banco de dados.
2. **Frontend (Navegador):** Para erros visuais, tela branca ou botões que não respondem.

***

### Método 1: Logs do Backend (Via Terminal / SSH)

#### Pré-requisito: habilitar os logs no seu servidor

Antes de tudo, você precisa ativar o registro de logs no seu servidor.\
\
Abra o terminal do sistema e edite o arquivo .env:

```
nano /home/deployzdg/zpro.io/backend/.env
```

Adicione os seguintes parâmetros:

```
LOGGER_INFO=true
LOGGER_WARN=true
LOGGER_ERROR=true
```

Salve a edição com ctrl + O\
Saia do arquivo com ctrl + X

{% embed url="<https://www.loom.com/share/4a0c7e73e71e41b19b30999b8b806237>" %}

#### Como acessar os logs

Este é o método universal, válido tanto para quem usa o terminal da Hostinger quanto para quem acessa via SSH (PuTTY, etc.).

**Passo a Passo:**

1. **Acesse a VPS:** Entre no terminal da sua máquina.
2. **Acesse o usuário do sistema:** As aplicações rodam dentro do usuário `deployzdg`. É obrigatório entrar nele primeiro:

   ```bash
   su - deployzdg
   ```
3. **Liste os Processos (Importante):** Antes de abrir o log, você precisa saber qual é o **ID** do processo. O backend geralmente é o `0`, mas se você tiver múltiplas instâncias, isso pode mudar. Digite:

   ```bash
   pm2 list
   ```

   *Veja na coluna `id` qual número corresponde ao processo que você quer verificar (geralmente chamado de `backend` ou `zpro-backend`).*
4. **Abra o Log:** Supondo que o ID do seu backend seja `0` (o mais comum), digite:

   ```bash
   pm2 log 0
   ```

   *(Se o ID for outro, substitua o número. Ex: `pm2 log 2`).*
5. **Analise e Capture:** O terminal mostrará os registros em tempo real.
   * **Tente provocar o erro:** Com o log aberto, vá no seu sistema Z-PRO e tente fazer a ação que está dando erro.
   * **Texto Vermelho:** Indica falhas. Tire um print ou copie as linhas vermelhas para enviar ao suporte.
6. **Sair do Log:** Para parar a exibição e liberar o terminal, pressione as teclas: `CTRL + C`

### Vídeo Logs do Backend para Usuários Hostinger (Via Navegador)

{% embed url="<https://www.loom.com/share/96b6d501567f4dcc9add470f1740b1e4>" %}

### Vídeo Logs do Backend via SSH

{% embed url="<https://www.loom.com/share/8ae6aa13ecf34530a28bd09f72e85cb2>" %}

***

### Método 2: Logs do Frontend (Console do Navegador)

Se o erro parece ser visual, tela branca ou no carregamento da página, o erro não está no servidor, mas sim no navegador.

**Passos para Acessar o Console:**

1. **Abra o Navegador:** Visite a página do Z-PRO onde o problema está acontecendo.
2. **Abra as Ferramentas do Desenvolvedor:** Use um dos métodos abaixo:
   * **Botão Direito:** Clique com o botão direito em qualquer lugar da página e selecione **"Inspecionar"**.
   * **Atalhos (Windows/Linux):** Pressione `F12` ou `Ctrl + Shift + J`.
   * **Atalhos (Mac):** Pressione `Cmd + Option + I`.
3. **Selecione a Aba "Console":** Dentro da janela que abriu, clique na aba escrita **"Console"**.

**O que analisar no Console:**

* **Erros (Vermelho):** Erros de execução no código front-end (JavaScript) serão exibidos em vermelho. **Tire um print desses erros para o suporte.**
* **Avisos (Amarelo):** Mensagens de alerta que geralmente não impedem o funcionamento.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajuda.zdg.com.br/avancado-recursos-tecnicos/boas-praticas-de-infraestrutura/como-extrair-logs-do-sistema.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
