| Module | Sinatra::CustomLogger |
| In: |
lib/sinatra/custom_logger.rb
|
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.
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
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