edge badge
Methods
C
N
T
Class Public methods
new(app, log = nil)
# File railties/lib/rails/rack/log_tailer.rb, line 6
def initialize(app, log = nil)
  ActiveSupport::Deprecation.warn "LogTailer is deprecated and will be removed on Rails 5"

  @app = app

  path = Pathname.new(log || "#{::File.expand_path(Rails.root)}/log/#{Rails.env}.log").cleanpath

  @cursor = @file = nil
  if ::File.exist?(path)
    @cursor = ::File.size(path)
    @file = ::File.open(path, 'r')
  end
end
Instance Public methods
call(env)
# File railties/lib/rails/rack/log_tailer.rb, line 20
def call(env)
  response = @app.call(env)
  tail!
  response
end
tail!()
# File railties/lib/rails/rack/log_tailer.rb, line 26
def tail!
  return unless @cursor
  @file.seek @cursor

  unless @file.eof?
    contents = @file.read
    @cursor = @file.tell
    $stdout.print contents
  end
end