> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/es/additional-features/collect-logs-with-secure-logger.md).

# Recopilar registros con el registrador seguro

## Descripción general

El registrador seguro recopila los registros de ejecución del SDK de NFC Wallet. Los almacena de forma segura en el sandbox de la aplicación.

Tu aplicación de billetera digital puede recuperar los archivos de registro y compartirlos con Thales para la resolución de problemas.

## Integración del SDK

### Establecer el nivel de registro

El registrador seguro está habilitado de forma predeterminada con el nivel de registro establecido en `advertencia`.

<table><thead><tr><th width="109">Nivel de registro</th><th>Descripción</th></tr></thead><tbody><tr><td><code>depuración</code></td><td>Registra información detallada para la resolución de problemas y la depuración.</td></tr><tr><td><code>información</code></td><td>Registra mensajes de rutina, como los puntos de entrada/salida de la API y los valores devueltos.</td></tr><tr><td><code>advertencia</code></td><td>Registra advertencias y problemas críticos de flujo durante la ejecución normal.</td></tr><tr><td><code>error</code></td><td>Registra errores que impiden que un flujo se complete correctamente.</td></tr><tr><td><code>fatal</code></td><td>Registra errores en tiempo de ejecución que requieren acción inmediata.</td></tr><tr><td><code>desactivado</code></td><td>Deshabilitar el registro.</td></tr></tbody></table>

### Obtener la instancia del registrador seguro

Obtén la instancia del registrador seguro desde el SDK:

```swift
// obtener el objeto securelog del sdk de TSHPay
let securelog = TSHPay.secureLog
```

En producción, mantén `advertencia` en condiciones normales.

Para reproducir un problema, permite que el usuario final habilite un nivel más detallado. Luego reproduce el problema y comparte los archivos de registro.

### Deshabilitar el registrador seguro

Para deshabilitar el registrador seguro:

```swift
// Al establecer el nivel en off, los registros se deshabilitan. MPA puede activarlo seleccionando un nivel diferente. Por ejemplo, debug
securelog.setLevel(.off)
```

### Recuperar archivos de registro

Para recuperar los archivos de registro:

```swift
// devolver la lista de archivos
let files = securelog.files()
```

### Eliminar archivos de registro

Para eliminar los archivos de registro:

```swift
// eliminar archivos
securelog.deleteFiles()
```

### Compartir archivos de registro (ejemplo)

Este ejemplo comparte los registros usando `UIActivityViewController`.

Tu aplicación de billetera digital también puede cargar los registros en un servidor de archivos.

También puedes enviar los registros a través de otros canales aprobados.

{% code expandable="true" %}

```swift
// compartir registros
    func archieveLogsURL(_ onComplete: @escaping (URL?) -> ()) {
        var error: NSError?
        guard let file = TSHPay.secureLog.files().first?.absoluteURL.deletingLastPathComponent(),
            let fileURL = URL(string: "file://\(file.absoluteString)") else {
            onComplete(nil)
            return
        }
        
        NSFileCoordinator().coordinate(
            readingItemAt: fileURL,
            options: [.forUploading],
            error: &error
        ) { zipUrl in
            do {
                let tmpUrl = try FileManager.default
                    .url(
                        for: .itemReplacementDirectory,
                        in: .userDomainMask,
                        appropriateFor: zipUrl,
                        create: true
                    )
                    .appendingPathComponent("archive.zip")
                
                try FileManager.default.moveItem(at: zipUrl, to: tmpUrl)
                onComplete(tmpUrl)
            } catch {
                onComplete(nil)
            }
        }
    }
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/es/additional-features/collect-logs-with-secure-logger.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
