Module: Sinatra::CustomLogger
- Defined in:
- lib/sinatra/custom_logger.rb
Overview
Sinatra::CustomLogger
CustomLogger extension allows you to define your own logger instance using logger
setting. That logger then will be available as #logger helper method in your routes and views.
Usage
Classic Application
To define your custom logger instance in a classic application:
require 'sinatra'
require 'sinatra/custom_logger'
require 'logger'
set :logger, Logger.new(STDOUT)
get '/' do
logger.info 'Some message' # STDOUT logger is used
# Other code...
end
Modular Application
The same for modular application:
require 'sinatra/base'
require 'sinatra/custom_logger'
require 'logger'
class MyApp < Sinatra::Base
helpers Sinatra::CustomLogger
configure :development, :production do
logger = Logger.new(File.open("#{root}/log/#{environment}.log", 'a'))
logger.level = Logger::DEBUG if development?
set :logger, logger
end
get '/' do
logger.info 'Some message' # File-based logger is used
# Other code...
end
end
Instance Method Summary collapse
Instance Method Details
#logger ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/sinatra/custom_logger.rb', line 51 def logger if settings.respond_to?(:logger) settings.logger else request.logger end end |