class Gom::Logger

Constants

Levels

Gom::Log.level = Gom::Attribute.value(“/gom/log:level”, ::Logger::INFO)

Public Class Methods

new(out = nil) click to toggle source
Calls superclass method
# File lib/gom/logger.rb, line 32
def initialize out = nil
  super(out || default_outstream)
  self.level = ::Logger::DEBUG
end

Public Instance Methods

default_outstream() click to toggle source

output defaults to STDOUT for rails test and non-rails apps, to a logfile otherwise

# File lib/gom/logger.rb, line 20
def default_outstream
  if ! (Object.const_defined? 'Rails')
    STDOUT
  else
    if 'test' === ::Rails.env
      STDOUT
    else 
      "#{::Rails.root.to_s}/log/gom-#{::Rails.env}.log"
    end
  end
end
ex(e, msg = nil, level = :error) click to toggle source

experimental convenience function:

Log.ex e

does actually do:

Log.error e
Log.debug "#{e.backtrace.join "\n\t"}"

and:

Log.ex e, "some message here"

stands for:

Log.error "some message here"
Log.debug "#{e.backtrace.join "\n\t"}"
# File lib/gom/logger.rb, line 57
def ex e, msg = nil, level = :error
  send level, "#{e}: #{(msg || e)}"
  debug "#{e} -- callstack: #{msg}\n\t#{e.backtrace.join "\n\t"}"
end
format_message(severity, timestamp, progname, msg) click to toggle source

this is to de-patch the rails formatting patch..

# File lib/gom/logger.rb, line 38
def format_message(severity, timestamp, progname, msg)
  "#{timestamp.strftime '%Y-%m-%d %H:%M:%S'} #{severity.chars.first} #{msg}\n"
end