Module: Roda::RodaPlugins::CommonLogger
- Defined in:
- lib/roda/plugins/common_logger.rb
Overview
The common_logger plugin adds common logger support to Roda applications, similar to Rack::CommonLogger, with the following differences:
-
Better performance
-
Doesn’t include middleware timing
-
Doesn’t proxy the body
-
Doesn’t support different capitalization of the Content-Length response header
-
Logs to $stderr instead of env if explicit logger not passed
Example:
plugin :common_logger
plugin :common_logger, $stdout
plugin :common_logger, Logger.new('filename')
Defined Under Namespace
Modules: InstanceMethods
Class Method Summary collapse
- .configure(app, logger = nil) ⇒ Object
- .load_dependencies(app, _ = nil) ⇒ Object
-
.start_timer ⇒ Object
:nocov:.
Class Method Details
.configure(app, logger = nil) ⇒ Object
27 28 29 30 |
# File 'lib/roda/plugins/common_logger.rb', line 27 def self.configure(app, logger=nil) app.opts[:common_logger] = logger || app.opts[:common_logger] || $stderr app.opts[:common_logger_meth] = app.opts[:common_logger].method(logger.respond_to?(:write) ? :write : :<<) end |
.load_dependencies(app, _ = nil) ⇒ Object
22 23 24 25 |
# File 'lib/roda/plugins/common_logger.rb', line 22 def self.load_dependencies(app, _=nil) app.plugin :_after_hook app.plugin :_before_hook end |
.start_timer ⇒ Object
:nocov:
34 35 36 |
# File 'lib/roda/plugins/common_logger.rb', line 34 def self.start_timer Process.clock_gettime(Process::CLOCK_MONOTONIC) end |