original_string: public function getLogger($channel = 'default')
      {
          if (isset($this->loggers[$channel])) {
              return $this->loggers[$channel];
          }
  
          /** @var Logger $logger */
          $logger = $this->getContainer()->get(LoggerInterface::class, [$channel]);
  
          $this->loggers[$channel] = $logger;
  
          /** @var LoggerInterface $contract */
          $contract = $this->validateContract($this->loggers[$channel], LoggerInterface::class);
          return $contract;
      }
code: public function getLogger($channel = 'default')
      {
          if (isset($this->loggers[$channel])) {
              return $this->loggers[$channel];
          }
  
          /** @var Logger $logger */
          $logger = $this->getContainer()->get(LoggerInterface::class, [$channel]);
  
          $this->loggers[$channel] = $logger;
  
          /** @var LoggerInterface $contract */
          $contract = $this->validateContract($this->loggers[$channel], LoggerInterface::class);
          return $contract;
      }
code_tokens: public function getLogger ( $ channel = 'default' ) { if ( isset ( $ this -> loggers [ $ channel ] ) ) { return $ this -> loggers [ $ channel ] ; } /** @var Logger $logger */ $ logger = $ this -> getContainer ( ) -> get ( LoggerInterface :: class , [ $ channel ] ) ; $ this -> loggers [ $ channel ] = $ logger ; /** @var LoggerInterface $contract */ $ contract = $ this -> validateContract ( $ this -> loggers [ $ channel ] , LoggerInterface :: class ) ; return $ contract ; }
docstring: Return a logger
  
  @param string $channel
  @return \Psr\Log\LoggerInterface
docstring_tokens: Return a logger