class Fluentdly::Rack::Middleware
Attributes
app[R]
logger[R]
parameters[R]
Public Class Methods
new(app, config = Fluentdly.configuration)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 8 def initialize app, config = Fluentdly.configuration @app = app @logger = config.task_logger @parameters = config.request_parameters end
Public Instance Methods
call(env)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 14 def call env time, result = Timer.measure do app.call(env) end logger.info(params(env, time, result)) result end
Private Instance Methods
custom(env)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 45 def custom env parameters.each_with_object({}) do |(k,v), result| result[k] = env[v] end end
format(env, time, result)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 32 def format env, time, result if logger.debug? Debug.call(env, time, result) else Standard.call(env, time, result) end end
get_status(result)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 40 def get_status result status, _headers, _body = result status.to_s end
params(env, time, result)
click to toggle source
# File lib/fluentdly/rack/middleware.rb, line 25 def params env, time, result message = format(env, time, result) status = get_status(result) custom(env).merge :status => status, :message => message, :time => time end