class Rack::SlowLog::Logger
Public Class Methods
new(long_request_time, slow_log, one_log_per_request)
click to toggle source
# File lib/rack/slow_log/logger.rb, line 5 def initialize(long_request_time, slow_log, one_log_per_request) @long_request_time = long_request_time @slow_log = slow_log @one_log_per_request = one_log_per_request @lines = [] end
Public Instance Methods
log(line)
click to toggle source
# File lib/rack/slow_log/logger.rb, line 13 def log(line) @lines << [Time.now, line] end
Also aliased as: <<
request_end!()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 28 def request_end! @end_time = Time.now end
request_start!()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 24 def request_start! @start_time = Time.now end
save()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 18 def save if long_request? write_log end end
Private Instance Methods
log_file_name()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 48 def log_file_name if @one_log_per_request time_stamp = @start_time.strftime('%Y-%m-%d-%H_%M_%S.%3N') "#{@slow_log}_#{time_stamp}" else @slow_log end end
long_request?()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 34 def long_request? (@end_time - @start_time) > @long_request_time end
write_log()
click to toggle source
# File lib/rack/slow_log/logger.rb, line 38 def write_log log_file = ::File.open(log_file_name, 'a') log_file.write("[#{@start_time}] >>>>>>>>>> START <<<<<<<<<<\n") @lines.each { |timestamp, line| log_file.write("[#{timestamp}] #{line}\n") } log_file.write("[#{@end_time}] >>>>>>>>>> END <<<<<<<<<<\n") log_file.close end