Sha256: 1744fda5ceed4c982e82cf3b88f1341641dc0314d23013bbc091942e1b3fe654
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
# Logput module Logput # Middleware class Middleware def initialize(app, options = {}) @app = app @path_to_log_file = options[:path_to_log_file] @lines_to_read = options[:lines_to_read] || 500 end # Call def call(env) @env = env @path_to_log_file ||= default_path_to_log_file ensure_log_file_exists! if is_logput? generate_output! else @app.call(@env) end end private def ensure_log_file_exists! raise 'Log file does not exist' unless File.exist? @path_to_log_file end def is_logput? @env['PATH_INFO'] == '/logput' end def generate_output! out = `tail -n #{@lines_to_read} #{@path_to_log_file}` [200, {"Content-Type" => "text/html"}, ["<pre>", out, "</pre>"]] end def default_path_to_log_file raise Exception, 'Must specify path to Rails log file' unless defined? Rails path end def logger @env['action_dispatch.logger'] end def path logger_adapter.path end def logger_adapter @logger_adapter ||= Logput::Adapters.obtain(logger) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logput-0.0.5 | lib/logput/middleware.rb |
logput-0.0.4 | lib/logput/middleware.rb |