Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Настройки логирования 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 - уровень логгирования
incoming_publication - определяют как и куда будут выводиться логи.

log4j.logger.outgoing.Publication

info, outgoing_publication

Логгер статистики RTMFP-SIP звонков для исходящего на SIP сервер трафика.

info - уровень логгирования
outgoing_publication - определяют как и куда будут выводиться логи.

log4j.logger.pushLogs.FlashphonerHandler

Не используется

Не используется

log4j.additivity.incoming.Publication

false

Не дублировать данные логи в общий лог, а писать в отдельные

log4j.additivity.outgoing.Publication

false

Не дублировать данные логи в общий лог, а писать в отдельные

log4j.logger.sipMessages

debug

Выводить входящие и исходящие SIP сообщения в лог

log4j.logger.WSServerHandlertraceВыводить исходящие Websocket сообщения в лог
log4j.logger.WSClientdebugВыводить входящие 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
languagebash
themeRDark
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
languagebash
themeRDark
0 0 * * * find /usr/local/FlashphonerWebCallServer/logs/client_logs/ -type d -mtime +30 | xargs rm -rf

Управление уровнем логирования "на лету"

...

REST-методы и статусы ответа

REST-метод

Пример тела REST-запроса

Пример тела REST-ответа

Статусы ответа

Описание

/logger/enable_client_log

Code Block
languagejs
themeRDark
{
 "sessionId": "/127.0.0.1:57539/192.168.1.101:8443",
 "logLevel": "DEBUG"
}

200 - Уровень изменен

404 - Сессия не найдена


Установить указанный уровень логирования в заданной сессии

/logger/disable_client_log

Code Block
languagejs
themeRDark
{
 "sessionId": "/127.0.0.1:57539/192.168.1.101:8443"
}

200 - Логирование отключено

404 - Сессия не найдена

Полностью отключить логирование в заданной сессии

Параметры

Имя параметра

Описание

Пример

sessionId

Идентификатор сессии

/127.0.0.1:57539/192.168.1.101:8443

logLevel

Устанавливаемый уровень логирования

DEBUG

Таким образом, при возникновении проблем с потоком, опубликованным на сервере (например, поток опубликован, но не воспроизводится), необходимо отправить серверу REST-запрос и переключить уровень логирования в DEBUG, а затем, когда проблема воспроизведена и данные собраны, переключить уровень логирования обратно в INFO. Возможно также полностью отключить логирование для определенной сессии.

...

Code Block
languagebash
themeRDark
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
languagebash
themeRDark
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
languagebash
themeRDark
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
languagebash
themeRDark
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.

...