public function log($message, $level, array $context = array()) {
		$return = true;

		if(!isset(self::$levels[$level])) {
			throw new \OutOfBoundsException('Log level invalid');
		}

		if((int)$level <= $this->level) {
			$message = sprintf(
					$this->logFormat . PHP_EOL,
					date($this->dateFormat),
					self::$levels[$level],
					$this->interpolate((string)$message, $context)
			);

			if(false === fwrite($this->handle, $message)) {
				$return = false;
			}
		}

		return $return;
	}