Публикация в группе: Otshelnik-Fm - мои работы (код, плагины, дополнения, статьи и руководства)

Категории группы: Работаем с Wp-Recall

Rcl_Log - это внутренняя система логов для записи какой-то информации. Появилась в 16-й версии плагина. Это может быть отладочная информация, информация расписания cron или информация о какой либо ошибке.

Почему не используется лог вебсервера?

Во-первых: путь к логам вебсервера на разных площадках разный и возникают сложности с получением оперативной информации оттуда (надо задать вопрос хостеру, дождаться ответа, найти в панели управления хостингом путь...). А у логов WP-Recall он статичный:
ваш-сайт/wp-content/wp-recall/logs/
Внутри папки "logs" находятся файлы названные по такому формату: год-месяц-день.log
Например: 2019-12-04.log - лог за сегодня, 4-е декабря.

Во-вторых: в логе WP-Recall, логи только которые заданы этим плагином. Не нужно выискивать нужное событие.

Как включить лог?

Лог по умолчанию выключен. Чтобы включить лог нужно в админке перейти:
WP-Recall -> Настройки -> Общие настройки.
Поставить галку на "Расширенные настройки"
И найти опцию:

Режим логирования
Запись в лог-файл фоновых событий и ошибок работы

- выставить на "Подключено" и сохранить настройки.

Скриншот:

Что пишет лог:

Рассмотрим только сообщения базовой части плагина.

Ядро плагина:
rcl_cron_hourly - часовое событие крона
rcl_cron_twicedaily - событие срабатывающее два раза в день
rcl_cron_daily - событие срабатывающее раз в день
- запуск события WordPress Cron-а которые зарегистрировал плагин WP-Recall
Т.е. вы можете посмотреть какое событие на вашем сайте отработало и во сколько. Это поможет вам выявить проблему с WordPress кроном.

"Не удалось загрузить контент вкладки" - ошибка загрузки вкладки ЛК
"Отправка запроса на сервер обновления для получение последних версий установленных дополнений" - срабатывает дважды в день. Проверяет - есть ли обновления для дополнений.
"Не удалось открыть файл с данными дополнений для проверки обновлений" - ошибка на стороне codeseller на получение списка к обновлению. Возможно сервер был перегружен запросами.
"Fatal Error: и сообщение о ошибке" - произошла фатальная ошибка с дополнением. Будут указаны все нужные данные.

Дополнение Feed базовой части плагина:

"Не удалось добавить новую подписку" - ошибка с подпиской
"Не удалось изменить данные фида" - обновление фида не удалось

Дополнение Rating System базовой части плагина:

"Не удалось добавить голос пользователя"
"Не удалось добавить общий рейтинг объекта"
"Не удалось добавить общий рейтинг пользователя"
"Не удалось изменить общий рейтинг объекта"
"Не удалось изменить общий рейтинг пользователя"
- ошибки при начислении рейтингов.

Дополнение Rcl Chat базовой части плагина:

"Отправка уведомлений о непрочитанных сообщениях" - успешно выполнилась отправка о непрочитанных ЛС
"Не удалось добавить чат" - Ошибка: новый чат не удалось создать в БД
"Не удалось добавить пользователя в чат" - ошибка в работе ЛС
"Не удалось добавить метаданные сообщения" - ошибка с добавлением файла в чат
"Не удалось обновить статус пользователя в чате"

Дополнение User Balance базовой части плагина:

"Не удалось добавить платеж пользователя" - вставка платежа в БД провалилась
"Не удалось обновить баланс пользователя" - обновление баланса в БД провалилось
"Не удалось добавить баланс пользователя" - добавление в БД баланса пользователя провалилось

Другие дополнения могут также писать различную информацию в логи WP-Recall.

Как правильно дать выписку из лога:

Можно автору на форуме техподдержки скинуть полностью файл и указать ему время возникновения ошибки.
Или можно сделать копирование самостоятельно:
Перейти по FTP ваш-сайт/wp-content/wp-recall/logs/
и на текущую дату открыть файл.

Скопировать от времени ошибки или записи лога - до следующего времени. Например так:

12:22:06 rcl_update_user_rating: Не удалось изменить общий рейтинг пользователя
Array
(
    [object_id] => 5903
    [object_author] => 1
    [rating_type] => post-group
    [rating_value] => 0
)

Скриншот:

- можно написать на форуме в сообщении или слева вверху форума над аватаркой пользователя есть иконка вызова окна личных сообщений - написать текст ошибки и данные в личные сообщения. Но лучше писать сразу в сообщении форума - если данные никак не раскрывают полные пути к серверу и префиксы БД.

Для разработчиков:

Класс Rcl_Log в файле wp-recall/classes/class-rcl-log.php описывает всю работу реколл логов.

Функция:

rcl_add_log( 'Title', $args, $force );

Первый аргумент - заголовок. Строка.
Второй аргумент строка, объект или массив с данными необходимыми вам для поиска причины провала работы вашей функции.
Третий аргумент - по умолчанию false. Если поставить в true - то лог будет писаться вне зависимости от настройки включен лог в опциях или нет.

Примерно так:

if( $error ){
    rcl_add_log( 'Ошибка при отработке функции', $args );
}

Работа с реколл логом простая и поможет вам ускорить обработку ошибок и выявление проблем.

7

Автор публикации

не в сети 5 часов

Вова (Otshelnik-Fm)

4 509
Живой, бодрый, полон идей!
Комментарии: 2252Публикации: 249Регистрация: 27-01-2013Продаж/Покупок: 0/0