diff options
author | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-08-21 19:04:39 +0200 |
---|---|---|
committer | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-08-21 19:04:39 +0200 |
commit | aad429a46e3017fa7ca73f58428693e821be42b6 (patch) | |
tree | f749e0cdeab20c7f4be37ff49e064705f17cdfa5 /railties/lib/rails | |
parent | cf6840773b4f5046151f4d28c286069aabaafa10 (diff) | |
parent | 8622787f8748434b4ceb2b925a35b17a38e1f2d6 (diff) | |
download | rails-aad429a46e3017fa7ca73f58428693e821be42b6.tar.gz rails-aad429a46e3017fa7ca73f58428693e821be42b6.tar.bz2 rails-aad429a46e3017fa7ca73f58428693e821be42b6.zip |
Merge branch 'master' into i18n
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/rack.rb | 1 | ||||
-rw-r--r-- | railties/lib/rails/rack/logger.rb | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/railties/lib/rails/rack.rb b/railties/lib/rails/rack.rb index abcd0741bf..b4f32c2d95 100644 --- a/railties/lib/rails/rack.rb +++ b/railties/lib/rails/rack.rb @@ -1,5 +1,6 @@ module Rails module Rack + autoload :Logger, "rails/rack/logger" autoload :Static, "rails/rack/static" end end diff --git a/railties/lib/rails/rack/logger.rb b/railties/lib/rails/rack/logger.rb new file mode 100644 index 0000000000..89d02e45a9 --- /dev/null +++ b/railties/lib/rails/rack/logger.rb @@ -0,0 +1,28 @@ +module Rails + module Rack + class Logger + EnvironmentLog = "#{File.expand_path(Rails.root)}/log/#{Rails.env}.log" + + def initialize(app, log = nil) + @app = app + @path = Pathname.new(log || EnvironmentLog).cleanpath + @cursor = ::File.size(@path) + @last_checked = Time.now + end + + def call(env) + response = @app.call(env) + ::File.open(@path, 'r') do |f| + f.seek @cursor + if f.mtime > @last_checked + contents = f.read + @last_checked = f.mtime + @cursor += contents.length + print contents + end + end + response + end + end + end +end |