# Registre telemetria

Este guia mostra como registrar suas próprias entradas de telemetria no canal de telemetria do SDK com `Apolo.logger`, mantendo seu rastro de diagnóstico no mesmo lugar dos eventos do próprio SDK.

## Como funciona

Cada chamada registra uma entrada de telemetria no canal do SDK — ela **não** escreve no `Logcat`. As chamadas são sempre seguras: quando o canal de telemetria não está ativo na sessão atual, a chamada se torna um no-op silencioso. Ela nunca lança exceção e nunca bloqueia quem a chamou.

```kotlin
val Apolo.logger: ApoloLogger

interface ApoloLogger {
    fun d(tag: String, message: String)
    fun i(tag: String, message: String)
    fun w(tag: String, message: String)
    fun e(tag: String, message: String, throwable: Throwable? = null)
}
```

Somente o nível `e` (erro) aceita um `Throwable` opcional, porque stack traces são relevantes em falhas.

## Registre uma entrada

```kotlin
val apolo = ApoloSdk.getClient()

apolo.logger.i(tag = "Checkout", message = "starting a credit sale")

runCatching { /* ... */ }.onFailure { err ->
    apolo.logger.e(tag = "Checkout", message = "failed to prepare cart", throwable = err)
}
```

## Boas práticas

* Padronize a `tag` por área funcional do seu aplicativo, para correlacionar com a telemetria do próprio SDK.
* Não envie dados sensíveis (número do cartão, número fiscal, credenciais) pelo `logger` — a telemetria serve para rastreio de diagnóstico, não para payload transacional.

## Próximos passos

* [Solução de problemas](https://docs.globalgetnet.com/pt/products/in-store-payments/getnet-toolbox?doc=sdk-wl-troubleshooting) — transforme uma falha registrada em um diagnóstico e uma ação.
* [Referência de códigos de erro](/pt/getnet-toolbox/sdk-white-label/reference-sdk/error-codes) — os códigos de resultado e as categorias de causa que suas entradas vão referenciar.