Sha256: 606b17d1478080c039937bf9d3f0772d7d4434354d355be0d5ec3a00868b774a
Contents?: true
Size: 1015 Bytes
Versions: 1
Compression:
Stored size: 1015 Bytes
Contents
require 'log4r/outputter/syslogoutputter' module Log4r class BufferedSyslogOutputter < SyslogOutputter def initialize(*args) super @buff = {} end def flush synch do begin @buff.each do |pri, message| Syslog.open(@ident, @logopt, @facility) do |s| s.log(pri, '%s', message.join("\t")) end end ensure @buff.clear end end end private def canonical_log(logevent) begin pri = SYSLOG_LEVELS_MAP[@levels_map[LNAMES[logevent.level]]] rescue pri = LOG_INFO end return if logevent.data.empty? o = format(logevent) msg = if o.is_a? Exception "#{o.class} at (#{o.backtrace[0]}): #{o.message}" elsif o.respond_to?(:to_str) o.to_str else o.inspect end synch { @buff.has_key?(pri) ? @buff[pri].push(msg) : @buff[pri] = [msg] } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
log4rails-1.1.11 | lib/log4r/outputter/bufferedsyslogoutputter.rb |