Sha256: d475a9c3576f7ea490d991e3bd919d7675ac22a1473bad5d29f670b34a3cf3bb

Contents?: true

Size: 661 Bytes

Versions: 162

Compression:

Stored size: 661 Bytes

Contents

module Puma
  class TCPLogger
    def initialize(logger, app, quiet=false)
      @logger = logger
      @app = app
      @quiet = quiet
    end

    FORMAT = "%s - %s"

    def log(who, str)
      now = Time.now.strftime("%d/%b/%Y %H:%M:%S")

      @logger.puts "#{now} - #{who} - #{str}"
    end

    def call(env, socket)
      who = env[Const::REMOTE_ADDR]
      log who, "connected" unless @quiet

      env['log'] = lambda { |str| log(who, str) }

      begin
        @app.call env, socket
      rescue Object => e
        log who, "exception: #{e.message} (#{e.class})"
      else
        log who, "disconnected" unless @quiet
      end
    end
  end
end

Version data entries

162 entries across 159 versions & 18 rubygems

Version Path
puma-2.4.1-java lib/puma/tcp_logger.rb
puma-2.4.1 lib/puma/tcp_logger.rb