def appender( config )
      return if config.nil?
      config = config.dup

      type = config.delete('type')
      raise Error, 'Appender type not given' if type.nil?

      name = config.delete('name')
      raise Error, 'Appender name not given' if name.nil?

      config['layout'] = layout(config.delete('layout'))

      clazz = ::Logsly::Logging182::Appenders.const_get type
      clazz.new(name, config)
    end
def appender( config )
      return if config.nil?
      config = config.dup

      type = config.delete('type')
      raise Error, 'Appender type not given' if type.nil?

      name = config.delete('name')
      raise Error, 'Appender name not given' if name.nil?

      config['layout'] = layout(config.delete('layout'))

      clazz = ::Logsly::Logging182::Appenders.const_get type
      clazz.new(name, config)
    end
call-seq:
    appender( config )

 Creates a new Appender based on the given _config_ options (a hash).
 The type of Appender created is determined by the 'type' option in the
 config. The remaining config options are passed to the Appender
 initializer.

 The config options can also contain a 'layout' option. This should be
 another set of options used to create a Layout for this Appender.