Status > Logs under the "maple-parcel" source. * * Errors are always logged, so a store owner who sees "no shipping methods" * has somewhere to look. Request and response bodies are logged only with * debug logging on. Nothing logged here ever contains a key, secret or token: * callers pass bodies, never headers. */ declare(strict_types=1); namespace BlueBrainMedia\MapleParcel\Support; defined( 'ABSPATH' ) || exit; final class Logger { public const SOURCE = 'maple-parcel'; public function __construct( private readonly bool $debug = false ) { } public function debugEnabled(): bool { return $this->debug; } public function error( string $message ): void { $this->write( 'error', $message ); } public function debug( string $message ): void { if ( $this->debug ) { $this->write( 'debug', $message ); } } private function write( string $level, string $message ): void { if ( ! function_exists( 'wc_get_logger' ) ) { return; } wc_get_logger()->log( $level, $message, array( 'source' => self::SOURCE ) ); } }