Зачем нужен отладочный лог в WooCommerce
Отладочный лог помогает отслеживать ошибки, события и действия плагина WooCommerce, что особенно важно при настройке платежных шлюзов, интеграций и кастомных функций. Включение лога позволяет получить подробную информацию о работе системы, облегчая диагностику проблем.
Диагностика: как понять, что лог нужно включить
- Платежи не проходят, но ошибок на фронтенде нет.
- Интеграция с внешними сервисами не работает.
- Произвольные ошибки при оформлении заказа без явных причин.
- Необходимо отследить работу кастомных хуков и обработчиков.
Пошаговое решение: включение и использование отладочного лога WooCommerce
1. Включение отладочного лога через настройки
Перейдите в WooCommerce → Настройки → Система → Логирование (в зависимости от версии путь может немного отличаться). Здесь вы можете активировать логирование для различных модулей, например, платежных шлюзов.
2. Включение лога программно
Для более гибкой настройки можно использовать класс WC_Logger. Например, чтобы записать кастомное сообщение в лог, добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:
function wptemp_custom_woocommerce_log( $message ) {
if ( ! class_exists( 'WC_Logger' ) ) {
return;
}
$logger = wc_get_logger();
$context = array( 'source' => 'custom-wptemp-logger' );
$logger->info( $message, $context );
}
// Пример вызова
wptemp_custom_woocommerce_log( 'Тестовое сообщение для отладки' );3. Просмотр логов
Логи сохраняются в wp-content/uploads/wc-logs/. Их можно просмотреть через админку WooCommerce или напрямую через FTP/файловый менеджер. Файлы имеют имена вида лог_дата_время.txt.
Проверка результата после внедрения
Чтобы убедиться, что лог работает:
- Вызовите функцию логирования, например, при выполнении определённого действия.
- Зайдите в
WooCommerce → Состояние → Логии выберите нужный файл. - Проверьте наличие записанного сообщения.
Частые ошибки и как их исправить
1. Лог не создаётся
- Проверьте права доступа к папке
wp-content/uploads/wc-logs/. Папка должна быть доступна для записи. - Убедитесь, что класс
WC_Loggerдоступен (WooCommerce активен и обновлён).
2. Нечитаемые логи
- Используйте текстовый редактор с поддержкой UTF-8.
- Проверьте, что лог пишется в правильное место (иногда плагины меняют путь).
3. Лог слишком большой
- Ограничьте уровень логирования (например, только
errorилиwarning). - Регулярно очищайте старые логи.
Практические советы по безопасности и производительности
- Не оставляйте включённым логирование в продакшене длительное время — это может замедлить сайт и привести к раскрытию конфиденциальной информации.
- Регулярно удаляйте старые файлы логов, чтобы не переполнять диск.
- Используйте контекст логирования (
$contextвWC_Logger) для фильтрации и удобного поиска. - Для интеграций с платежными шлюзами всегда проверяйте документацию — некоторые шлюзы имеют собственные методы логирования.
Дополнительно: сравнение способов логирования в WooCommerce
| Метод | Преимущества | Недостатки |
|---|---|---|
| Включение логов через настройки | Простота настройки, доступ через админку | Меньше гибкости, логирование только предустановленных событий |
Использование WC_Logger в коде | Гибкость, возможность логирования пользовательских сообщений | Требует навыков программирования |
| Использование внешних плагинов (например, Debug Bar) | Расширенные возможности, удобный интерфейс | Дополнительные зависимости, может влиять на производительность |