$context Подробности: product_id, photo_session_id и т. п. * @return void */ public static function info( string $message, array $context = array() ): void { self::write( 'info', $message, $context ); } /** * Неприятность, с которой плагин справился сам: пропущенное фото, повтор позже. * * @param string $message Что произошло. * @param array $context Подробности. * @return void */ public static function warning( string $message, array $context = array() ): void { self::write( 'warning', $message, $context ); } /** * Ошибка: действие не выполнено. * * @param string $message Что произошло. * @param array $context Подробности. * @return void */ public static function error( string $message, array $context = array() ): void { self::write( 'error', $message, $context ); } /** * Пишет запись с контекстом. * * Контекст дополняется id текущего пользователя WordPress — в фоновой задаче это 0 * или тот, от чьего имени задача доделывает работу. * * @param string $level Уровень журнала WooCommerce. * @param string $message Что произошло. * @param array $context Подробности. * @return void */ private static function write( string $level, string $message, array $context ): void { if ( ! function_exists( 'wc_get_logger' ) ) { return; } $context['user_id'] = get_current_user_id(); $context['source'] = self::SOURCE; wc_get_logger()->log( $level, $message, $context ); } }