class GlassOctopus::Middleware::CommonLogger

Constants

FORMAT

Public Class Methods

new(app, logger=nil, log_level=:info) click to toggle source
# File lib/glass_octopus/middleware/common_logger.rb, line 8
def initialize(app, logger=nil, log_level=:info)
  @app = app
  @logger = logger
  @log_level = log_level
end

Public Instance Methods

call(ctx) click to toggle source
# File lib/glass_octopus/middleware/common_logger.rb, line 14
def call(ctx)
  log(ctx) { @app.call(ctx) }
end

Private Instance Methods

format_message(ctx, runtime) click to toggle source
# File lib/glass_octopus/middleware/common_logger.rb, line 29
def format_message(ctx, runtime)
  format(FORMAT,
    ctx.message.topic, ctx.message.partition, ctx.message.key, runtime)
end
log(ctx) { || ... } click to toggle source
# File lib/glass_octopus/middleware/common_logger.rb, line 20
def log(ctx)
  logger = @logger || ctx.logger

  runtime = Benchmark.realtime { yield }
  runtime *= 1000 # Convert to milliseconds

  logger.send(@log_level) { format_message(ctx, runtime) }
end