# Логирование Webim Mobile SDK для iOS

Данная документация описывает процесс настройки и использования системы логирования на основе протокола `WebimLogger`. Протокол позволяет регистрировать события, связанные с сетевыми запросами и другими действиями в приложении, и предоставляет гибкость в настройке уровня детализации логирования.

## Протокол `WebimLogger` { #webimlogger }

Протокол `WebimLogger` определяет метод `log(entry:)`, который вызывается при появлении новой записи в логе. Этот метод должен быть реализован в классе, который будет использоваться для логирования.

Для передачи объекта `WebimLogger` и настройки параметров логирования в `SessionBuilder` используется метод `set(webimLogger:verbosityLevel:availableLogTypes:)`. Этот метод позволяет установить объект `WebimLogger`, уровень детализации логирования и типы логов, которые будут записываться.

Параметр `webimLogger` — объект, реализующий протокол [`WebimLogger`](#webimlogger).

Параметр `verbosityLevel` — уровень детализации логирования. По умолчанию установлен `.warning`. 
См. [`WebimLoggerVerbosityLevel`](https://webim.ru/kb/mobile/sdk/v-3-0/ios-sdk-handbook.html#webim-logger-verbosity-level).

Параметр `availableLogTypes` — массив типов логов, которые будут записываться. По умолчанию пустой массив. 
Cм. [`WebimLogType`](https://webim.ru/kb/mobile/sdk/v-3-0/ios-sdk-handbook.html#webim-log-type).

---

[Пример использования.](https://github.com/webim/webim-mobile-ui-ios/blob/main/Sources/WebimMobileWidget/Classes/SDK%20Files/Models/WidgetLogManager.swift)

---

Источник: https://webim.ru/kb/mobile/sdk/v-3-0/ios-loggers-mobile-sdk.html
