...
Настройки логирования flashphoner.properties
Настройка | Значение по умолчанию |
---|---|
client_log_level | INFO |
client_dump_level | 0 |
enable_extended_logging | true |
Логи пишутся в каталог /usr/local/FlashphonerWebCallServer/logs
...
Это стандартный конфиг формата log4j.
Описание настроек
Аттрибут | Значение | Описание |
---|---|---|
log4j.rootLogger | info, stdout, fAppender | Корневой логгер. info - Уровень логгирования INFO. Доступны другие более подробные уровни, например DEBUG и TRACE и менее подробные, например ERROR. stdout, fAppender - определяют как и куда будут выводиться логи. |
log4j.logger.incoming.Publication | info, incoming_publication | Логгер статистики RTMFP-SIP звонков для входящего с SIP сервера трафика. info - уровень логгирования |
log4j.logger.outgoing.Publication | info, outgoing_publication | Логгер статистики RTMFP-SIP звонков для исходящего на SIP сервер трафика. info - уровень логгирования |
log4j.logger.pushLogs.FlashphonerHandler | Не используется | Не используется |
log4j.additivity.incoming.Publication | false | Не дублировать данные логи в общий лог, а писать в отдельные |
log4j.additivity.outgoing.Publication | false | Не дублировать данные логи в общий лог, а писать в отдельные |
log4j.logger.sipMessages | debug | Выводить входящие и исходящие SIP сообщения в лог |
log4j.logger.WSServerHandler | trace | Выводить исходящие Websocket сообщения в лог |
log4j.logger.WSClient | debug | Выводить входящие Websocket сообщения в лог |
log4j.appender.stdout | org.apache.log4j.ConsoleAppender | Вывод логов в stdout |
log4j.appender.fAppender | org.apache.log4j.DailyRollingFileAppender | Вывод логов в fAppender |
log4j.appender.incoming_publication | org.apache.log4j.DailyRollingFileAppender | Вывод статистики RTMFP в incoming_publication |
log4j.appender.outgoing_publication | org.apache.log4j.DailyRollingFileAppender | Вывод статистики RTMFP в outgoing_publication |
log4j.appender.clientLog | org.apache.log4j.DailyRollingFileAppender | Не используется |
Горячая замена настроек логгирования
...
Code Block | ||||
---|---|---|---|---|
| ||||
client_log_level=INFO |
Управление настройками автоматической очистки для этих логов осуществляется с помощью настроек keep_extended_logs_max_days, extended_logs_dir_depth, check_extended_logs_interval. По умолчанию проверка на устаревшие логи проходит каждые 24 часа и удаляются логи хранящиеся более 30 дней. Для изменения правил удаления и хранения клиентских логов отредактируйте эти настройки и перезапустите WCS сервер.Для периодической очистки клиентских логов рекомендуется использовать cron в сочетании с find. Например, задание для проверки на устаревшие логи каждые 24 часа и удаление логов старше 30 дней будет выглядеть следующим образом
Code Block | ||||
---|---|---|---|---|
| ||||
0 0 * * * find /usr/local/FlashphonerWebCallServer/logs/client_logs/ -type d -mtime +30 | xargs rm -rf |
Управление уровнем логирования "на лету"
...
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/logger/enable_client_log |
| 200 - Уровень изменен 404 - Сессия не найдена | Установить указанный уровень логирования в заданной сессии | ||||||||
/logger/disable_client_log |
| 200 - Логирование отключено 404 - Сессия не найдена | Полностью отключить логирование в заданной сессии |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
sessionId | Идентификатор сессии | /127.0.0.1:57539/192.168.1.101:8443 |
logLevel | Устанавливаемый уровень логирования | DEBUG |
Таким образом, при возникновении проблем с потоком, опубликованным на сервере (например, поток опубликован, но не воспроизводится), необходимо отправить серверу REST-запрос и переключить уровень логирования в DEBUG, а затем, когда проблема воспроизведена и данные собраны, переключить уровень логирования обратно в INFO. Возможно также полностью отключить логирование для определенной сессии.
...
Code Block | ||||
---|---|---|---|---|
| ||||
3000;3001;f294f6116bf2cc4c725f20457ed76e5b@192.168.56.2;2014-11-21 15:01:37; 2014-11-21 15:01:41; 2014-11-21 15:02:45;64;ANSWERED |
Поле | Описание |
---|---|
src | Инициатор звонка |
dst | Принимающий звонок |
cid | Идентификатор звонка |
start | Начало звонка (дата и время). |
answer | Дата и время ответа абонента или SIP стороны. |
end | Дата и время завершения звонка |
billsec | Время в секундах между 'answer' и 'end'. |
disposition | Результат звонка: ANSWERED, NO_ANSWER, BUSY, FAILED. |
MDR-логи
Message Detail Record - это журнал SIP-сообщений.
...
Code Block | ||||
---|---|---|---|---|
| ||||
Fri Dec 26 15:26:16 NOVT 2014,null,A006,A005,RECEIVED |
Поле | Описание |
---|---|
date | Дата и время сообщения |
msgId | Идентификатор сообщения. Будет представлен только в message/cpim сообщениях, при isImdnRequired=true (см. документацию Web Call Server - Call Flow, где описаны параметры передаваемых сообщений в методе sendMessage). |
from | SIP from |
to | SIP to |
disposition | Результат сообщения: RECEIVED, SENT, FAILED. RECEIVED - сообщение получено. SENT - сообщение отправлено. FAILED - во время отправки сообщения произошла ошибка. |
Вы также можете собирать любую необходимую статистику по сообщениям и их статусам, используя WCS REST API. См. документацию Web Call Server - Call Flow, где перечислены все методы и наборы данных, которые WCS отправляет чрез REST при обработке сообщений.
...
Code Block | ||||
---|---|---|---|---|
| ||||
2015-11-11 08:36:13;Flash;stream-Bob;5c2d75c0-7d87-421d-aa93-2732c48d8eaa;00:00:48;UNPUBLISHED;;PUBLISH;3; |
Поле | Описание |
---|---|
start | Дата и время установки сессии |
mediaProvider | Используемое медиа на WCS JavaScript API: WebRTC, Flash |
name | Имя публикуемого / воспроизводимого потока |
mediaSessionId | Идентификатор медиа-сессии |
duration | Продолжительность сессии |
disposition | Как сессия была завершена: UNPUBLISHED, STOPPED, FAILED UNPUBLISHED - публикация потока была остановлена STOPPED - воспроизведение потока было остановлено FAILED - некорректное завершение сессии |
info | Если disposition==FAILED, содержит описание причины |
type | PUBLISH в случае публикации потока SUBSCRIBE в случае воспроизведения потока |
subscribers | Количество подписчиков в случае публикации потока; 0 в случае воспроизведения потока |
CONNDR-логи
Connection Detail Record - это журнал WebSocket-сессий.
...
Code Block | ||||
---|---|---|---|---|
| ||||
2018-04-25 19:29:08;/5.44.168.45:52199/95.191.131.64:8443;DISCONNECTED;Normal disconnect;17; |
Поле | Описание |
---|---|
start | Дата и время установки сессии |
mediaSessionId | Идентификатор медиа-сессии |
disposition | Как сессия была завершена: DISCONNECTED, FAILED DISCONNECTED - завершение сессии по инициативе клиента FAILED - некорректное завершение сессии |
info | Содержит описание завершения сессии |
duration | Продолжительность сессии |
GC-логи
По умолчанию логи сборщика мусора находятся в директории /usr/local/FlashphonerWebCallServer/logs.
...