diff --git a/includes/Logger/Logger.php b/includes/Logger/Logger.php new file mode 100644 index 000000000..0d6a7e49b --- /dev/null +++ b/includes/Logger/Logger.php @@ -0,0 +1,63 @@ + false, + 'should_save_log_in_woocommerce' => false, + 'woocommerce_log_level' => \WC_Log_Levels::DEBUG, + ]) { + $is_debug_mode_enabled = 'yes' === get_option( self::SETTING_ENABLE_META_DIAGNOSIS ); + if ( $is_debug_mode_enabled && $log_options['should_save_log_in_woocommerce'] ) { + facebook_for_woocommerce()->log( $message . ' : ' . wp_json_encode( $context ), null, $log_options['woocommerce_log_level'] ); + } + + $is_meta_diagnosis_enabled = (bool) ( 'yes' === get_option( self::SETTING_ENABLE_META_DIAGNOSIS ) ); + if ( $log_options['should_send_log_to_meta'] && $is_meta_diagnosis_enabled ) { + + $extra_data = $context['extra_data'] ?? []; + $extra_data['message'] = $message; + $context['extra_data'] = $extra_data; + + $logs = get_transient( self::LOGGING_MESSAGE_QUEUE ); + if ( ! $logs ) { + $logs = []; + } + $logs[] = $context; + set_transient( self::LOGGING_MESSAGE_QUEUE, $logs, HOUR_IN_SECONDS ); + } + } +}