class Rack::XrkLog::Base

Attributes

app[RW]
app_name[RW]
begin_at[RW]
log_type[RW]
logger[RW]

Public Class Methods

new(app, app_name) click to toggle source
# File lib/rack/xrk/adapter/base.rb, line 6
def initialize(app, app_name)
  app_name  = app_name
  @app      = app
  @log_type = "ACCESS"
  @logger   = ::Logger.new("log/#{app_name}_quality_access.log")
  @logger.formatter = proc do |severity, datetime, progname, msg|
    "#{begin_at}|#{app_name}|#{log_type}|#{msg}\n"
  end
end

Public Instance Methods

formatter() click to toggle source
# File lib/rack/xrk/adapter/base.rb, line 16
def formatter
  raise NotImplementedError.new("You must implemente #{name} formatter method!")
end
stop_at() click to toggle source
# File lib/rack/xrk/adapter/base.rb, line 24
def stop_at
  DateTime.now.strftime("%Q").to_i
end
total_runtime() click to toggle source
# File lib/rack/xrk/adapter/base.rb, line 20
def total_runtime
  stop_at - begin_at
end
write(env, body, status, header) click to toggle source
# File lib/rack/xrk/adapter/base.rb, line 28
def write(env, body, status, header)
  body = formatter(env, body, status, header)
  @logger.info(body) unless body.nil?
end