From 6f493f615f7be0b4b96c6717d018f9ef2e153c6f Mon Sep 17 00:00:00 2001 From: vinkmeta Date: Tue, 10 Jun 2025 19:07:22 +0100 Subject: [PATCH 1/2] Feed Logging --- includes/Feed/AbstractFeed.php | 21 ++++++++++++++++++-- includes/Feed/FeedConfigurationDetection.php | 11 +++++++++- includes/fbproductfeed.php | 21 +++++++++++++++++--- tests/Unit/Feed/ProductFeedTest.php | 12 ++++++++++- 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/includes/Feed/AbstractFeed.php b/includes/Feed/AbstractFeed.php index 12aa44187..17a3ad396 100644 --- a/includes/Feed/AbstractFeed.php +++ b/includes/Feed/AbstractFeed.php @@ -13,6 +13,7 @@ use WooCommerce\Facebook\Framework\Helper; use WooCommerce\Facebook\Framework\Plugin\Exception as PluginException; use WooCommerce\Facebook\Utilities\Heartbeat; +use WooCommerce\Facebook\Framework\Logger; defined( 'ABSPATH' ) || exit; @@ -232,7 +233,15 @@ public function get_feed_secret(): string { */ public function handle_feed_data_request(): void { $name = static::get_data_stream_name(); - \WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( "{$name} feed: Meta is requesting feed file." ); + Logger::log( + "{$name} feed: Meta is requesting feed file.", + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::DEBUG, + ) + ); $file_path = $this->feed_writer->get_file_path(); $file = false; @@ -277,7 +286,15 @@ public function handle_feed_data_request(): void { // fpassthru might be disabled in some hosts (like Flywheel). // phpcs:ignore if ( \WC_Facebookcommerce_Utils::is_fpassthru_disabled() || ! @fpassthru( $file ) ) { - \WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( "{$name} feed: fpassthru is disabled: getting file contents." ); + Logger::log( + "{$name} feed: fpassthru is disabled: getting file contents.", + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::DEBUG, + ) + ); //phpcs:ignore $contents = @stream_get_contents( $file ); if ( ! $contents ) { diff --git a/includes/Feed/FeedConfigurationDetection.php b/includes/Feed/FeedConfigurationDetection.php index 25510a585..c10205514 100644 --- a/includes/Feed/FeedConfigurationDetection.php +++ b/includes/Feed/FeedConfigurationDetection.php @@ -12,6 +12,7 @@ use WooCommerce\Facebook\Framework\Api\Exception as ApiException; use WooCommerce\Facebook\Products\Feed; use WooCommerce\Facebook\Utilities\Heartbeat; +use WooCommerce\Facebook\Framework\Logger; /** * A class responsible detecting feed configuration. @@ -91,7 +92,15 @@ private function get_data_source_feed_tracker_info() { $metadata = $this->get_feed_metadata( $feed['id'] ); } catch ( Exception $e ) { $message = sprintf( 'There was an error trying to get feed metadata: %s', $e->getMessage() ); - WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( $message ); + Logger::log( + $message, + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::ERROR, + ) + ); continue; } diff --git a/includes/fbproductfeed.php b/includes/fbproductfeed.php index 5549b68f1..2b424bc99 100644 --- a/includes/fbproductfeed.php +++ b/includes/fbproductfeed.php @@ -78,8 +78,15 @@ public function generate_feed() { do_action('wc_facebook_feed_generation_completed'); } catch ( \Exception $exception ) { - - \WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( $exception->getMessage() ); + Logger::log( + $exception->getMessage(), + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::ERROR, + ) + ); // Feed generation failed - clear the generation time to track that there's an issue. facebook_for_woocommerce()->get_tracker()->track_feed_file_generation_time( -1 ); @@ -279,7 +286,15 @@ public function write_product_feed_file( $wp_ids ) { } catch ( Exception $e ) { - WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( wp_json_encode( $e->getMessage() ) ); + Logger::log( + wp_json_encode( $e->getMessage() ), + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::ERROR, + ) + ); $written = false; diff --git a/tests/Unit/Feed/ProductFeedTest.php b/tests/Unit/Feed/ProductFeedTest.php index e05b49a85..4ae111cde 100644 --- a/tests/Unit/Feed/ProductFeedTest.php +++ b/tests/Unit/Feed/ProductFeedTest.php @@ -8,6 +8,8 @@ * @package FacebookCommerce */ +use WooCommerce\Facebook\Framework\Logger; + if ( ! defined( 'ABSPATH' ) ) { exit; } @@ -43,7 +45,15 @@ public function get_product_wpid() { */ public function log_feed_progress( $msg, $data = array() ) { $msg = empty( $data ) ? $msg : $msg . wp_json_encode( $data ); - WC_Facebookcommerce_Utils::log_with_debug_mode_enabled( 'Test - ' . $msg ); + Logger::log( + 'Test - ' . $msg, + [], + array( + 'should_send_log_to_meta' => false, + 'should_save_log_in_woocommerce' => true, + 'woocommerce_log_level' => \WC_Log_Levels::ERROR, + ) + ); } } From 11536e015b710ceff7d588aa0d1ad276247260a3 Mon Sep 17 00:00:00 2001 From: vinkmeta Date: Wed, 11 Jun 2025 00:00:41 +0100 Subject: [PATCH 2/2] Fixed log level --- tests/Unit/Feed/ProductFeedTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Unit/Feed/ProductFeedTest.php b/tests/Unit/Feed/ProductFeedTest.php index 4ae111cde..91510163a 100644 --- a/tests/Unit/Feed/ProductFeedTest.php +++ b/tests/Unit/Feed/ProductFeedTest.php @@ -51,7 +51,7 @@ public function log_feed_progress( $msg, $data = array() ) { array( 'should_send_log_to_meta' => false, 'should_save_log_in_woocommerce' => true, - 'woocommerce_log_level' => \WC_Log_Levels::ERROR, + 'woocommerce_log_level' => \WC_Log_Levels::DEBUG, ) ); }