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

# Logs do Heroku

<Warning>
  🔐 Não envie <strong>Informações Pessoais Identificáveis (PII)</strong> para a AppSignal. Filtre PII (por exemplo, nomes, e-mails) dos logs e use um ID, hash ou identificador pseudonimizado no lugar. <br /> <br /> Para **entidades cobertas pela HIPAA**, mais informações sobre como assinar um Business Associate Agreement (BAA) podem ser encontradas em nossa [documentação de Business Add-Ons](/support/business-add-ons).
</Warning>

## Aplicações Cedar (plataforma legada)

### Remover log drains antigos

<Tip>
  Esta configuração de log drain do Heroku enviará tanto logs quanto métricas
  para o AppSignal. Para enviar apenas métricas para o AppSignal, siga a
  configuração de log drain do Heroku [em nossa documentação do
  Heroku](/heroku/setup) em vez disso.
</Tip>

Antes de criar um novo log drain para o AppSignal, você precisa remover quaisquer log drains AppSignal pré-existentes. Você pode verificar se há log drains ativos usando o comando abaixo, onde `myapp` é o nome da sua aplicação Heroku:

<CodeGroup>
  ```shell Shell theme={null}
  heroku drains -a myapp
  ```
</CodeGroup>

Se houver log drains AppSignal ativos, você pode removê-los usando o seguinte comando:

<CodeGroup>
  ```shell Shell theme={null}
  heroku drains:remove -a myapp <url>
  ```
</CodeGroup>

*Substitua `<url>` acima pela URL do log drain que você está tentando remover*

### Adicionar novo log drain

Uma vez removidos os log drains ativos, [siga as instruções para criar uma fonte de log Heroku](/logging/configuration#creating-a-log-source).

Depois de criar uma fonte de log, use o comando abaixo para criar um novo log drain.

<CodeGroup>
  ```shell Shell theme={null}
  heroku drains:add "https://appsignal-endpoint.net/logplex?api_key=YOUR_LOG_SOURCE_API_KEY"
  ```
</CodeGroup>

Substitua `YOUR_LOG_SOURCE_API_KEY` pela chave fornecida ao criar uma fonte de log.

Uma vez conectado, os logs devem aparecer no AppSignal. Se você ainda não conseguir ver nenhum log,
por favor [entre em contato conosco](mailto:support@appsignal.com) para obter suporte.

### Análise de severidade

Por padrão, o Heroku envia todos os logs com severidade INFO. E como o conteúdo das mensagens do logdrain pode depender da origem (add-ons, aplicação, roteador Heroku etc.),
existem algumas maneiras de sobrescrever a severidade padrão.

#### Formato do log

Defina um formato de log e sobrescreva a severidade.

Você pode definir o formato das suas linhas de log na fonte como "logfmt" e emitir a seguinte string em sua linha de log `severity=warning`. Isso sobrescreverá a severidade padrão `INFO` para `WARNING`.

#### Análise de severidade

Ao adicionar uma fonte de log Heroku no AppSignal, há uma caixa de seleção para habilitar "Severity parsing".

Quando marcada, tentaremos analisar qualquer string de severidade válida da mensagem de log. Só fazemos isso quando as alternativas não produziram nenhum resultado (por exemplo, se você definir o formato de log da fonte como logfmt e emitir um atributo de severidade, esse será usado em vez da severidade analisada).

As seguintes strings são consideradas severidades válidas; elas podem estar em maiúsculas, minúsculas ou mistas:

* TRACE
* DEBUG
* INFO
* NOTICE
* WARNING
* WARN
* ERR
* ERROR
* CRIT
* CRITICAL
* ALERT
* EMERG
* PANIC
* FATAL

Não consideraremos essas strings como severidade se fizerem parte de uma palavra.
Severidades entre blocos são consideradas severidades, por exemplo:

Estas são analisadas como severidades:

```shell Shell theme={null}
[oban] [error] invalid query
ERROR  - My app is broken
error something went wrong
[Error] this is a valid error severity
```

*Observe que isso significa que qualquer string de severidade em minúsculas (info/debug/warning/trace/etc) em qualquer lugar na linha de log alterará a severidade do log.*

Estas não são analisadas como severidades:

```shell Shell theme={null}
ErrorClass
error: something went wrong
The doctor was panicking just as much as the patient
```

## Aplicações Fir

Para enviar logs da sua aplicação Heroku Fir para o AppSignal, siga os [passos de configuração para aplicações de geração Heroku Fir](/heroku/setup#fir-applications). O AppSignal ingerirá automaticamente os logs da sua aplicação por meio dos exportadores HTTP do OpenTelemetry, ou quaisquer logs de `stdout` e `stderr` via um [Heroku Telemetry Drain](https://devcenter.heroku.com/articles/log-drains).
