Перейти к основному содержимому
Версия: 5.8.2

Настройки логирования

SDK предоставляет гибкие возможности для логирования действий пользователя, чтобы упростить отладку и мониторинг работы SDK. Логи записываются в файлы по сессиям (запускам). В случае возникновения проблем с работой SDK их необходимо отправить в нашу службу поддержки.

Вы можете настроить уровень логирования при инициализации SDK с помощью настроек ChatLoggerConfig.

к сведению

По умолчанию логирование отключено, рекомендуется включать его только в тестовых сборках.

Базовая настройка

В базовом случае достаточно задать уровень логирования:

Настройка уровня логирования:

let loggerConfig = ChatLoggerConfig(logLevel: .all) // Логировать все сообщения

// Или:
// let loggerConfig = ChatLoggerConfig(logLevel: .error) // Логировать только ошибки

let chatCenterSdk = ChatCenterUISDK(providerUid: "YOUR_PROVIDER_UID",
chatConfig: chatConfig,
loggerConfig: loggerConfig)

Доступные уровни логирования (ChatLogLevel):

ChatLogLevel реализует OptionSet, поэтому уровни можно комбинировать: [.info, .error].

  • .off: Отключает все логирование от SDK.
  • .info: Общая информация о работе SDK (операции, изменения состояния).
  • .rest: Данные REST сетевых запросов.
  • .webSocket: Сообщения из WebSocket.
  • .userInterface: События из UI, действия пользователя.
  • .error: Ошибки, которые могут привести к сбоям или некорректной работе.
  • .network: Составной уровень — объединяет .rest и .webSocket.
  • .all: Объединяет .info, .rest, .webSocket, .userInterface, .error.

Рекомендации по использованию логирования:

  • В процессе разработки и отладки рекомендуется использовать уровень .all для получения максимально полной информации.
  • Логирование должно быть включено на тестовых сборках для передачи нам информации для анализа в случае нахождения багов.
  • В релизных сборках рекомендуется устанавливать уровень логирования на .off, чтобы избежать вывода в консоль и потенциального раскрытия чувствительной информации.
  • Логи SDK выводятся в стандартную консоль Xcode. Вы можете использовать фильтры в консоли для удобного просмотра сообщений от ChatCenterUI SDK.
примечание

Для упрощения диагностики возможных проблем, рекомендуется сразу включить логирование .all для режима отладки и тестовых сборок.

Дополнительные настройки

В случае необходимости можно использовать дополнительные параметры для более тонкой настройки:

Инициализация:

init(logLevel: ChatLogLevel = .off, logFileSize: Int = 2, logFilesCount: Int = 10)
  • logLevel: ChatLogLevel. Уровень логирования. По умолчанию .off (логирование отключено).
  • logFileSize: Int. Максимальный размер одного файла лога в мегабайтах. По умолчанию 2 МБ.
  • logFilesCount: Int. Максимальное количество хранимых файлов логов (1 файл = 1 сессия/запуск). По умолчанию 10.

Пример использования:

// Включение логирования с уровнем .info
let loggerConfig = ChatLoggerConfig(logLevel: .info, logFileSize: 5, logFilesCount: 5)
let chatConfig = ChatConfig(transportConfig: chatTransportConfig, networkConfig: ChatNetworkConfig())
let chatCenterSDK = ChatCenterUISDK(providerUid: "YOUR_PROVIDER_UID", chatConfig: chatConfig, loggerConfig: loggerConfig)

Отправка логов

Для удобства доступа к логам в SDK реализована возможность их отправки через меню «Поделиться».

к сведению

Для вызова меню логирование должно быть включено

Для доступа к меню необходимо потрясти телефон на экране чата. Это вызовет отображение меню, из которого файл с логами можно отправить любым удобным способом, доступном на данном устройстве.

Меню отправки логов


Связанные разделы