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 ); }
Работа с реколл логом простая и поможет вам ускорить обработку ошибок и выявление проблем.
Дело хорошее, но нужно закрывать доступ к файлам лога для всех кроме админа. Я так понимаю, что в лог он пишет ошибки от самого WP-Recall и его дополнений. Сейчас даже не авторизованный пользователь может их посмотреть. А это потенциальная опасность взлома.
Папке logs создаете файл .htaccess с содержимым: Deny from all
Это при условии что у вас апач вебсервер стоит.