Class: Harbor::RequestLogger
- Inherits:
-
Object
- Object
- Harbor::RequestLogger
- Defined in:
- lib/harbor/logging/request_logger.rb
Class Method Summary collapse
- .error(exception, request, response, trace) ⇒ Object
-
.info(request, response, start_time, end_time) ⇒ Object
Logs requests and their params the configured request logger.
Class Method Details
.error(exception, request, response, trace) ⇒ Object
27 28 29 |
# File 'lib/harbor/logging/request_logger.rb', line 27 def self.error(exception, request, response, trace) Logging::Logger['error'] << trace end |
.info(request, response, start_time, end_time) ⇒ Object
Logs requests and their params the configured request logger.
Format:
#application #time #duration #ip #method #uri #status #params
[PhotoManagement] [04-02-2009 @ 14:22:40] [0.12s] [64.134.226.23] [GET] /products (200) {"order" => "desc"}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/harbor/logging/request_logger.rb', line 11 def self.info(request, response, start_time, end_time) case when response.status >= 500 then status = "\033[0;31m#{response.status}\033[0m" # prints the status value in red when response.status >= 400 then status = "\033[0;33m#{response.status}\033[0m" # prints the status value in yellow else status = "\033[0;32m#{response.status}\033[0m" # prints the status value in green end = "[#{self.class}] [#{start_time.strftime('%m-%d-%Y @ %H:%M:%S')}] [#{"%2.2fs" % (end_time - start_time)}] [#{request.remote_ip}] [#{request.request_method}] #{request.path_info} (#{status})" << "\t #{request.params.inspect}" unless request.params.empty? << "\n" if (request_logger = Logging::Logger["request"]).info? request_logger << end end |