public AbstractSyslogWriter createWriter(){
		final Class<? extends AbstractSyslogWriter> clazz = this.syslogConfig.getSyslogWriterClass();

		try {
			AbstractSyslogWriter newWriter = clazz.newInstance();
			newWriter.initialize(this);
			return newWriter;
		} catch (final InstantiationException e) {
			if (this.syslogConfig.isThrowExceptionOnInitialize()) {
				throw new SyslogRuntimeException(e);
			}
		} catch (final IllegalAccessException e) {
			if (this.syslogConfig.isThrowExceptionOnInitialize()) {
				throw new SyslogRuntimeException(e);
			}
		}

		return null;
	}