protected function createLog($name)
	{
		if (isset($this->setup[$name]))
		{
			$config = array_merge($this->defaults, $this->setup[$name]);

			if (!$config['path'])
			{
				throw new InvalidArgumentException("Log path not specified for [$name].");
			}

			if (!$config['file'])
			{
				throw new InvalidArgumentException("Log file name not specified for [$name].");
			}

			$log = new Writer(
				new Monolog($name),
				$config['dispatcher']
			);

			$log->useFiles(
				$config['path'] . DIRECTORY_SEPARATOR . $config['file'],
				$config['level'],
				$config['format'],
				$config['dateFormat'],
				$config['permissions']
			);

			return $log;
		}

		throw new InvalidArgumentException("Log [$name] has no configuration values.");
	}