Багрепорты предназначены для снятия детализированных логов, которые могут значительно ускорить время техподдержки в случае, если что-то не работает или работает не так как хотелось бы.
Настоятельно рекомендуем предоставить возможность отправить сообщение об ошибке для ваших пользователей. Для этого есть специальная Javascript функция и это не займет много времени.
Есть несколько настроек, с помощью которых конфигурируется багрепортинг:
1. flashphoner.xml
<push_log>true</push_log>
Эта настройка говорит веб-клиенту отправлять логи клиента на сервер и сохранять их там.
Все логи браузера, которые попадают в debug консоль будут буферизованы и отправлены на WCS сервер по RTMFP или Websocket протоколу. Таким образом, при использовании SSL Websockets, эта операция будет безопасной и отправляемые логи не могут быть перехвачены, т.к. используется шифрование.
2. Серверные логи структурированы в следующем виде:
— client_logs
— server_logs
— bug_reports
При создании багрепорта, файл багрепорта будет размещен в каталоге bug_reports.
В начале этого файла будет указан путь к папке, которая содержит полный набор логов для клиента, который инициировал этот багрепорт.
Другая возможность отладки — это использование tcpdump. WCS может использовать tcpdump для сохранения трафика конкретного пользователя для SIP, RTP и SRTP и ICE (WebRTC traffic).
Для этого нужно будет установить соответствующую настройку.
flashphoner.properties
client_dump_level=0
0 — сохранять только логи сервера и не сохранять трафик
1 — сохранять логи сервера и SIP трафик
2 — сохранять логи сервера, SIP и остальной трафик. Остальной трафик будет включать в себя RTP, SRTP, ICE, DTLS, STUN, RTCP трафик, который обрабатывается на тех же портах.
Таким образом, опция client_dump_level=2 вызовет наиболее детальную запись логов и трафика. Рекомендуется иметь быстрые и вместительные SSD диски объемом около 100 гигабайт чтобы уверенно использовать такой режим отладки на боевом сервере.
client_log_level=info
Есть три уровня детализации логов сервера:
info — INFO log4j.properties
debug — DEBUG log4j.properties
trace — TRACE log4j.properties
Каждый пользователь имеет свой контекст логов на стороне сервера.
Когда пользователей отправляет багрепорт, его контекст логгирования переключается в уровень детализации, указанный в этой настройке.
И наконец, функция Flashphoner client side API sendBugReport();
Эта функция как раз отвечает за отправку багрепорта. Дайте вашим пользователям написать простой багрепорт, например «нет звука» и нажать кнопку «отправить» для того чтобы ускорить решение возможных проблем.
Краткое резюме, как включить режим багрепортинга с полной отладкой:
Client flashphoner.xml:
<push_log>true</push_log>
Server flashphoner.properties
client_dump_level=2
client_log_level=trace