container->when( ColoredLineFormatter::class ) ->needs( '$dateFormat' ) ->give( 'd/M/Y:H:i:s O' ); $this->container->when( AbstractHandler::class ) ->needs( '$level' ) ->give( LogLevel::fromName( $log_level ) ); $this->container->when( ErrorLogHandler::class ) ->needs( '$level' ) ->give( LogLevel::fromName( $log_level ) ); $this->container->bind( LoggerInterface::class, function () { $logger = new Logger( 'kadence' ); $handler = $this->container->get( ErrorLogHandler::class ); $handler->setFormatter( $this->container->get( ColoredLineFormatter::class ) ); $logger->pushHandler( $handler ); // Prefix logs. $logger->pushProcessor( static function ( array $record ): array { $record['message'] = '[Kadence Blocks]: ' . $record['message']; return $record; } ); return $logger; } ); } else { // Disable logging. $this->container->bind( LoggerInterface::class, static function () { $logger = new Logger( 'null' ); $logger->pushHandler( new NullHandler() ); return $logger; } ); } } }