PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / vendor / wordpress / mcp-adapter / includes / Infrastructure / Observability / ConsoleObservabilityHandler.php

ConsoleObservabilityHandler.php in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at vendor/wordpress/mcp-adapter/includes/Infrastructure/Observability/ConsoleObservabilityHandler.php

57 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Console Observability Handler for testing and debugging.
4 *
5 * Outputs formatted observability events to stdout for easy testing.
6 *
7 * @package McpAdapter
8 */
9
10 declare( strict_types=1 );
11
12 namespace WP\MCP\Infrastructure\Observability;
13
14 use WP\MCP\Infrastructure\Observability\Contracts\McpObservabilityHandlerInterface;
15
16 /**
17 * Console-based observability handler for testing.
18 *
19 * Outputs nicely formatted events to stdout/error_log with JSON formatting.
20 */
21 class ConsoleObservabilityHandler implements McpObservabilityHandlerInterface {
22
23 use McpObservabilityHelperTrait;
24
25 /**
26 * Record an event with formatted output.
27 *
28 * @param string $event The event name.
29 * @param array $tags Tags to attach.
30 * @param float|null $duration_ms Duration in milliseconds.
31 *
32 * @return void
33 */
34 public function record_event( string $event, array $tags = array(), ?float $duration_ms = null ): void {
35 $formatted_event = self::format_metric_name( $event );
36 $merged_tags = self::merge_tags( $tags );
37
38 // Create a structured output
39 $output = array(
40 'event' => $formatted_event,
41 'duration_ms' => $duration_ms,
42 'tags' => $merged_tags,
43 'timestamp' => gmdate( 'Y-m-d H:i:s' ),
44 );
45
46 // Pretty print JSON for readability
47 $json = wp_json_encode( $output, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES );
48
49 // Output with visual separator
50 $separator = str_repeat( '=', 80 );
51 $message = "\n{$separator}\n[MCP OBSERVABILITY EVENT]\n{$separator}\n{$json}\n{$separator}\n";
52
53 // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
54 error_log( $message );
55 }
56 }
57