Class: XLogger
- Inherits:
-
Logger
- Object
- Logger
- XLogger
- Defined in:
- lib/bin_script/xlogger.rb
Defined Under Namespace
Classes: Formatter
Instance Method Summary collapse
-
#initialize(hint = {}) ⇒ XLogger
constructor
A new instance of XLogger.
- #log_sql ⇒ Object
- #prod_env? ⇒ Boolean
- #rails_env_log_level ⇒ Object
Constructor Details
#initialize(hint = {}) ⇒ XLogger
Returns a new instance of XLogger.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/bin_script/xlogger.rb', line 5 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 |
Instance Method Details
#log_sql ⇒ Object
42 43 44 |
# File 'lib/bin_script/xlogger.rb', line 42 def log_sql ActiveRecord::Base.connection.logger = self if defined?(ActiveRecord::Base) end |
#prod_env? ⇒ Boolean
50 51 52 |
# File 'lib/bin_script/xlogger.rb', line 50 def prod_env? defined?(Rails) && Rails.env == 'production' end |
#rails_env_log_level ⇒ Object
46 47 48 |
# File 'lib/bin_script/xlogger.rb', line 46 def rails_env_log_level prod_env? ? Logger::INFO : Logger::DEBUG end |