private void initializeLogger() {
		Formatter formatter = this.initializeFormatter();
		String levelName = this.configuration.getLevel();
		LevelManager levelManager = new LevelManager();
		Level level = levelManager.getLevel(levelName);
		this.logger = new GenericLogger(level, formatter);
		try {
			this.initializeOutputs();
			this.initializeFilter();
		} catch (IOException e) {
			handleException("There was an IOException when initializing outputs: " + e.getMessage() + "\n Check your configuration file");
		} catch (CustomOutputException e) {
			handleException("There was a CustomOutputException when initializing outputs: " + e.getMessage() + "\n Check your configuration file");
		} catch (CustomFilterException e) {
			handleException("There was a CustomFilterException when initializing filter: " + e.getMessage() + "\n Check your configuration file");
		}
	}