Начиная с версии 2.7 в WooCommerce внедрили новый метод логирования данных и ошибок. Это удобно для отслеживания процессов в системе и диагностики проблем.
Использование
Идем в консоль сайта, далее раздел WooCommerce / Статус. Далее вкладка Журналы (Log).
Выбираем нужный журнал. Например если это какой-то плагин, то обычно журнал будет начинаться с названия этого плагина. Либо как на снимке может быть лог обновления БД:
Режим записи журнала в БД
Можно существенно улучшить наглядность журналов и удобство работы с данными если активировать режим записи в БД вместо файлов.
Для этого в 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/