@Override
	public final Configuration readConfiguration() throws ReaderException {
		try {
			Configuration config = new Configuration();
			File configFile = new File(this.filePath);
			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
			DocumentBuilder dBuilder;
			dBuilder = dbFactory.newDocumentBuilder();
			Document doc = dBuilder.parse(configFile);
			doc.getDocumentElement().normalize();

			config.setLevel(this.getLevelNodeValue(doc));
			config.setMessageFormat(this.getMessageFormatNodeValue(doc));
			config.setMessageSeparator(this.getMessageSeparatorNodeValue(doc));
			config.setLogToFiles(this.getFileNodesValue(doc));
			config.setCustomOutputs(this.getCustomOutputNodesValue(doc));
			config.setLogToConsole(this.getConsoleNodeValue(doc));
			config.setRegExFilter(this.getRegExFilterNodeValue(doc));
			config.setCustomFilter(this.getCustomFilterNodeValue(doc));
			return config;
		} catch (ParserConfigurationException | SAXException | IOException e1) {
			throw new ReaderException();
		}
	}