| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.4/wp-content/plugins/woocommerce/src/Internal/EmailEditor/ |
Upload File : |
<?php
/**
* This file is part of the WooCommerce package.
*
* @package Automattic\WooCommerce\Internal\EmailEditor
*/
declare(strict_types = 1);
namespace Automattic\WooCommerce\Internal\EmailEditor;
use Automattic\WooCommerce\EmailEditor\Engine\Logger\Email_Editor_Logger_Interface;
use WC_Log_Levels;
/**
* WooCommerce logger adapter for the email editor.
*
* This class adapts the WooCommerce logger to work with the email editor logging interface.
*/
class Logger implements Email_Editor_Logger_Interface {
/**
* The WooCommerce logger instance.
*
* @var \WC_Logger_Interface
*/
private \WC_Logger_Interface $wc_logger;
/**
* Constructor.
*
* @param \WC_Logger_Interface $wc_logger The WooCommerce logger instance.
*/
public function __construct( \WC_Logger_Interface $wc_logger ) {
$this->wc_logger = $wc_logger;
}
/**
* Checks if the log level should be handled.
*
* @param string $level The log level.
* @return bool Whether the log level should be handled.
*/
private function should_handle( string $level ): bool {
/**
* Controls the logging threshold for the email editor.
*
* @param string $threshold The log level threshold.
*
* @since 10.2.0
*/
$logging_threshold = apply_filters( 'woocommerce_email_editor_logging_threshold', WC_Log_Levels::WARNING );
return WC_Log_Levels::get_level_severity( $logging_threshold ) <= WC_Log_Levels::get_level_severity( $level );
}
/**
* Adds emergency level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function emergency( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::EMERGENCY, $message, $context );
}
/**
* Adds alert level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function alert( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::ALERT, $message, $context );
}
/**
* Adds critical level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function critical( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::CRITICAL, $message, $context );
}
/**
* Adds error level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function error( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::ERROR, $message, $context );
}
/**
* Adds warning level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function warning( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::WARNING, $message, $context );
}
/**
* Adds notice level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function notice( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::NOTICE, $message, $context );
}
/**
* Adds info level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function info( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::INFO, $message, $context );
}
/**
* Adds debug level log message.
*
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function debug( string $message, array $context = array() ): void {
$this->log( WC_Log_Levels::DEBUG, $message, $context );
}
/**
* Logs with an arbitrary level.
*
* @param string $level The log level.
* @param string $message The log message.
* @param array $context The log context.
* @return void
*/
public function log( string $level, string $message, array $context = array() ): void {
if ( $this->should_handle( $level ) ) {
$this->wc_logger->log( $level, $message, $context );
}
}
}