# Registra telemetría

Esta guía muestra cómo registrar tus propias entradas en el canal de telemetría del SDK con `Apolo.logger`. Así mantienes tu rastro de diagnóstico en el mismo lugar que los eventos propios del SDK.

## Cómo funciona

Cada llamada registra una entrada de telemetría en el canal del SDK — **no** escribe en `Logcat`. Las llamadas son siempre seguras: cuando el canal de telemetría no está activo en la sesión actual, la llamada se convierte en un no-op silencioso. Nunca lanza una excepción ni bloquea a quien la llama.

```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)
}
```

Solo el nivel `e` (error) acepta un `Throwable` opcional, porque las trazas de pila aportan información en las fallas.

## Registra una 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)
}
```

## Buenas prácticas

* Estandariza `tag` por área funcional de tu aplicación, para correlacionarlo con la telemetría propia del SDK.
* No envíes datos sensibles (número de tarjeta, identificación fiscal, credenciales) a través de `logger`: la telemetría sirve para el rastreo de diagnóstico, no para el payload transaccional.

## Siguientes pasos

* [Solución de problemas](https://docs.globalgetnet.com/es/products/in-store-payments/getnet-toolbox?doc=sdk-wl-troubleshooting) — convierte una falla registrada en un diagnóstico y una acción.
* [Referencia de códigos de error](/es/getnet-toolbox/sdk-white-label/reference-sdk/error-codes) — los códigos de resultado y las categorías de causa a las que harán referencia tus entradas.