module Sinatra::Logger
Constants
- VERSION
Public Class Methods
logger(config)
click to toggle source
# File lib/sinatra/logger.rb, line 26 def self.logger(config) if config[:filename].nil? raise "Sinatra::Logger -- File name is not specified. Please, set `filename` in the configuration block!" end config[:level] ||= :trace ::SemanticLogger.default_level = config[:level] config[:formatter] ||= :color set :logging, true use ::Rack::CommonLogger, ::SemanticLogger["Access"] if defined?(::ActiveRecord::Base) # ActiveRecord Logger ::ActiveRecord::Base.logger = ::SemanticLogger["SQL"] end ::Sinatra::Base.before do ::SemanticLogger.default_level = config[:level] ::SemanticLogger.appenders.each { |a| ::SemanticLogger.remove_appender(a) } ::SemanticLogger.add_appender(file_name: config[:filename], formatter: config[:formatter]) env["rack.errors"] = ::Sinatra::ErrorLogger.new env["rack.logger"] = ::SemanticLogger[self.class.name] end end