Status > Logs). */ final class Logger { /** * Log source shown in the WooCommerce log viewer. */ public const SOURCE = 'asorto'; /** * Constructor. * * @param Settings $settings Settings. */ public function __construct( private Settings $settings ) {} /** * Log an error. Always written. * * @param string $message Message. */ public function error( string $message ): void { $this->write( 'error', $message ); } /** * Log a debug message. Written only when debug logging is enabled in settings. * * @param string $message Message. */ public function debug( string $message ): void { if ( $this->settings->get( 'debug_log' ) ) { $this->write( 'debug', $message ); } } /** * Write a log entry. * * @param string $level Log level. * @param string $message Message. */ private function write( string $level, string $message ): void { if ( function_exists( 'wc_get_logger' ) ) { wc_get_logger()->log( $level, $message, array( 'source' => self::SOURCE ) ); } } }