class Logging::Appenders::Oml4r

Public Class Methods

new(*args) click to toggle source

pass a name and the usual OML options here to configure oml4r

Calls superclass method
# File lib/oml4r/logging/oml4r_appender.rb, line 26
def initialize *args
  opts = Hash === args.last ? args.pop : {}
  name = args.empty? ? 'oml4r' : args.shift
  super(name, opts)
  begin
    OML4R::init(nil, opts)
  rescue OML4R::MissingArgumentException => mex
    $stderr.puts mex
    exit
  end
  @inject_failed = false
end

Public Instance Methods

close(*args) click to toggle source
Calls superclass method
# File lib/oml4r/logging/oml4r_appender.rb, line 39
def close *args
  super(false)
  OML4R::close()
end

Private Instance Methods

write(event) click to toggle source
# File lib/oml4r/logging/oml4r_appender.rb, line 46
def write(event)
  begin
    LogMP.inject(event.time.iso8601, event.level.to_i, event.logger,
                  event.data, event.file, event.line.to_i, event.method)
  rescue => ex
    # Complain only once
    unless @inject_failed
      $stderr.puts "ERROR: While sending logging message via OML4r - #{mex}"
      @inject_failed = true
    end
  end
  self
end