class XLogger
Public Class Methods
new(hint = {})
click to toggle source
Calls superclass method
# File lib/bin_script/xlogger.rb, line 4 def initialize(hint = {}) if(hint[:rotate]) super(hint[:file] || STDOUT, hint[:rotate]) else super(hint[:file] || STDOUT) end STDOUT.sync = true self.formatter = Formatter.new self.datetime_format = hint[:date_format] || "%d.%m %H:%M:%S" # Don't change default logger if asked if hint[:dont_touch_rails_logger].blank? && defined?(ActiveRecord::Base) ActiveRecord::Base.logger = self def Rails.logger ActiveRecord::Base.logger end end self.level = hint[:log_level] || rails_env_log_level log_sql if hint[:log_sql] || !prod_env? end
Public Instance Methods
log_sql()
click to toggle source
# File lib/bin_script/xlogger.rb, line 41 def log_sql ActiveRecord::Base.connection.logger = self if defined?(ActiveRecord::Base) end
prod_env?()
click to toggle source
# File lib/bin_script/xlogger.rb, line 49 def prod_env? defined?(Rails) && Rails.env == 'production' end
rails_env_log_level()
click to toggle source
# File lib/bin_script/xlogger.rb, line 45 def rails_env_log_level prod_env? ? Logger::INFO : Logger::DEBUG end