Skip to content

Instantly share code, notes, and snippets.

@satoruk
Last active May 13, 2022 02:26
Show Gist options
  • Save satoruk/5310bbee01a6e281e0f8a2de299ce978 to your computer and use it in GitHub Desktop.
Save satoruk/5310bbee01a6e281e0f8a2de299ce978 to your computer and use it in GitHub Desktop.
Custom logger on Sinatra
class App < Sinatra::Base
configure do
set :logger_level, :warn
set :logger_log_file, File.join(root, 'log', "#{environment}.log")
end
configure :development do
set :logger_level, :debug
end
configure :prodcution do
set :logger_level, :info
end
configure do
logger_log_file.tap do |file|
fd = File.open(file, 'ab')
fd.sync = true
logger = ActiveSupport::Logger.new(fd)
logger.level = ActiveSupport::Logger.const_get(logger_level.to_s.upcase)
ActiveSupport.on_load(:active_record) { self.logger ||= logger }
set :logger, logger
end
end
helpers do
def logger
self.class.logger
end
end
get '/hello' do
logger.info('hello')
'hello'
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment