# Логирование Webim Mobile SDK для Android (v4)

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

## Протокол WebimLog

Установить логирование SDK можно с помощью метода [`Webim.SessionBuilder#setLogger(WebimLog, WebimLogVerbosityLevel)`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#set-logger). Области вывода задаются методом [`setLoggerEntities`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#set-logger-entities) (перечисление [`WebimLogEntity`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#webim-log-entity): `SERVER`, `MESSAGES`, `SURVEYS`, `DATABASE`). Области необходимо передать явно: без вызова `setLoggerEntities` набор пуст и SDK не передаёт записи в `WebimLog`.

[`WebimLog`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#webim-logger) — интерфейс для получения логов, который нужно реализовать и передать в SDK.
[`WebimLogVerbosityLevel`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#webim-log-verbosity-level) - описывает уровень логирования.

### случай VERBOSE

При уровне [`VERBOSE`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#verbose) вся доступная информация будет передана объекту `WebimLog` с максимальным уровнем информативности:

  * параметры настройки сетевых соединений;

  * URL, HTTP-методы и параметры сетевых запросов;

  * HTTP-коды, полученные данные и ошибки ответов на сетевые запросы;

  * SQL-запросы и ошибки, возникающие при этих запросах;

  * полная информация, которая может быть полезна при отладке, и дополнительные заметки.

### случай DEBUG

При уровне [`DEBUG`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#debug) вся доступная информация будет передана объекту `WebimLog` с максимальным уровнем информативности:

  * параметры настройки сетевых соединений;

  * URL, HTTP-методы и параметры сетевых запросов;

  * HTTP-коды, полученные данные и ошибки ответов на сетевые запросы;

  * SQL-запросы и ошибки, возникающие при этих запросах;

  * полная информация, которая может быть полезна при отладке, с умеренным уровнем информативности.

### случай INFO

При уровне [`INFO`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#info) объекту `WebimLog` будет передана справочная информация, а также все предупреждения и ошибки:

  * URL, HTTP-методы и параметры сетевых запросов;

  * HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом;

  * ошибки SQL-запросов.

### случай WARNING

При уровне [`WARNING`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#warning) объекту `WebimLog` будут переданы только предупреждения и ошибки:

  * HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом;

  * ошибки SQL-запросов.

### случай ERROR

При уровне [`ERROR`](https://webim.ru/kb/mobile/sdk/v-4-0/android-sdk-handbook.html#error) объекту `WebimLog` будут переданы только ошибки:

  * HTTP-коды и ошибки ответов на сетевые запросы, которые не закончились успехом.

---

[Пример использования.](https://github.com/webim/webim-android-sdk-demo/blob/8809eca061885276303d03129e0fef1f17cadaed/demo/src/main/java/ru/webim/android/demo/util/WebimSessionDirector.java#L203)

---

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