Журналы (Logs) данных и ошибок в WooCommerce

Начиная с версии 2.7 в WooCommerce внедрили новый метод логирования данных и ошибок. Это удобно для отслеживания процессов в системе и диагностики проблем.

Использование

Идем в консоль сайта, далее раздел WooCommerce / Статус. Далее вкладка Журналы (Log).

Выбираем нужный журнал. Например если это какой-то плагин, то обычно журнал будет начинаться с названия этого плагина. Либо как на снимке может быть лог обновления БД:

Журнал данных и ошибок магазина на WooCommerce

Режим записи журнала в БД

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

Для этого в wp-config.php можно добавить константу:

define( 'WC_LOG_HANDLER', 'WC_Log_Handler_DB' );

После этого журнал станет удобней и будет доступен поиск по данным:

Разработка

Класс называется WC_Logger, вызывается функцией wc_get_logger();

Пример:

$logger = wc_get_logger();
 
// $context may hold arbitrary data.
// If you provide a "source", it will be used to group your logs.
// More on this later.
$context = array( 'source' => 'my-extension-name' );
 
$logger->debug( 'Detailed debug information', $context );
$logger->info( 'Interesting events', $context );
$logger->notice( 'Normal but significant events', $context );
$logger->warning( 'Exceptional occurrences that are not errors', $context );
$logger->error( 'Runtime errors that do not require immediate', $context );
$logger->critical( 'Critical conditions', $context );
$logger->alert( 'Action must be taken immediately', $context );
$logger->emergency( 'System is unusable', $context );
 
// The `log` method accepts any valid level as its first argument.
$logger->log( 'debug', '<- Provide a level', $context );

Внедряем это в свой плагин и получаем удобную систему лога данных и ошибок в магазине.

Частично мы уже внедрили это в плагине WooMS для интеграции МойСклад и WooCommerce. Но далее планируем развивать эту идею.

Подробнее: https://woocommerce.wordpress.com/2017/01/26/improved-logging-in-woocommerce-2-7/

Фото аватара
Antony I

Веб разработчик, специализация на лучших мировых практиках: WordPress, WooCommerce, NextJS, Strapi, JAMStack ...

Основные типы проектов: CMS, eCommerce, SEO, LMS, ECM, BPM

Подробнее...

Статей: 125

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *