class SemanticLogger::Appender::Syslog

def log(log)

Write the log using the specified protocol and server.
def log(log)
  case @protocol
  when :syslog
    # Since the Ruby Syslog API supports sprintf format strings, double up all existing '%'
    message = formatter.call(log, self).gsub "%", "%%"
    ::Syslog.log @level_map[log.level], message
  when :tcp
    @remote_syslog.retry_on_connection_failure { @remote_syslog.write("#{formatter.call(log, self)}\r\n") }
  when :udp
    @remote_syslog.send(formatter.call(log, self), 0, @server, @port)
  else
    raise "Unsupported protocol: #{protocol}"
  end
  true
end