Настройки логирования
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)
Доступные уровни логирования (ChatLoggerConfig.LogLevel
):
.none
: Отключает все логирование от SDK..error
: Логируются только критические ошибки, которые могут привести к сбоям или некорректной работе..warning
: Логируются предупреждения о потенциальных проблемах, которые не являются критическими, но могут указывать на неправильное использование или неоптимальное поведение..info
: Логируется общая информация о работе SDK, такая как успешные операции, изменения состояния и т.д..debug
: Логируется подробная отладочная информация, включая детали сетевых запросов, ответы сервера, внутренние состояния компонентов SDK. Этот уровень наиболее полезен при разработке и отладке..all
: Включает логирование всех сообщений, включая.debug
.
Рекомендации по использованию логирования:
- В процессе разработки и отладки рекомендуется использовать уровни
.debug
или.all
для получения максимально полной информации. - Логирование должно быть включено на тестовых сборках, для передачи нам информации для анализа в случае нахождения багов.
- В релизных сборках рекомендуется устанавливать уровень логирования на
.none
, чтобы избежать вывода в консоль и потенциального раскрытия чувствительной информации. - Логи SDK выводятся в стандартную консоль Xcode. Вы можете использовать фильтры в консоли для удобного просмотра сообщений от ChatCenterUI SDK.
Для упрощения диагностики возможных проблем, рекомендуется сразу включить логирование .all
для режима отладки и тестовых сборок.
Дополнительные настройки
В случае необходимости, можно использовать дополнительные параметры для более тонкой настройки:
Инициализация:
init(logLevel: LogLevel = .none, logFileSize: Int = 10, logFilesCount: Int = 10)
logLevel
: Уровень логирования. По умолчанию.none
(логирование отключено). Возможные значения определяются перечислениемLogLevel
.logFileSize
: Максимальный размер файла лога в мегабайтах. По умолчанию10
МБ.logFilesCount
: Максимальное количество файлов логов, которые будут храниться. По умолчанию10
.
Пример использования:
// Включение логирования с уровнем .debug
let loggerConfig = ChatLoggerConfig(logLevel: .debug, logFileSize: 5, logFilesCount: 5)
let chatConfig = ChatConfig(transportConfig: ChatTransportConfig(), networkConfig: ChatNetworkConfig())
let chatCenterSDK = ChatCenterUISDK(providerUid: "YOUR_PROVIDER_UID", chatConfig: chatConfig, loggerConfig: loggerConfig)
Отправка логов
Для удобства доступа к логам в SDK реализована возможность их отправки через меню "Поделиться".
Для вызова меню логирование должно быть включено
Для доступа к меню необходимо потрясти телефон на экране чата. Это вызовет отображение меню, из которого файл с логами можно отправить любым удобным способом, доступном на данном устройстве.
