public function getLogger(ExposedContainerInterface $container, InjectionPointInterface $point = NULL)
	{
		$channel = ($point === NULL) ? 'app' : str_replace('\\', '.', $point->getTypeName());
		
		if(isset($this->loggers[$channel]))
		{
			return $this->loggers[$channel];
		}
		
		$logger = new Logger($channel);
		$logger->pushProcessor(new PsrLogMessageProcessor());
		
		$handled = false;
		
		foreach($this->matchers as $handlerName => $patterns)
		{
			foreach($patterns as $pattern)
			{
				if(preg_match($pattern, $channel))
				{
					$logger->pushHandler($this->getHandler($handlerName, $container));
					$handled = true;
					
					break;
				}
			}
		}
		
		if(!$handled)
		{
			$logger->pushHandler(new NullHandler());
		}
		
		return $this->loggers[$channel] = $logger;
	}