Module: SequelLoggers
- Included in:
- Inform::Persistence
- Defined in:
- lib/runtime/persistence.rb
Overview
The SequelLoggers module
Constant Summary collapse
- DatabaseLogging =
Struct.new(:memo).new({})
Instance Method Summary collapse
- #add_logger(database, logger) ⇒ Object
- #delete_logger(database, logger) ⇒ Object
- #disable_query_logging ⇒ Object
- #enable_query_logging ⇒ Object
- #set_log_level(database, level) ⇒ Object
Instance Method Details
#add_logger(database, logger) ⇒ Object
70 71 72 |
# File 'lib/runtime/persistence.rb', line 70 def add_logger(database, logger) database.loggers << logger unless database.loggers.include?(logger) end |
#delete_logger(database, logger) ⇒ Object
74 75 76 |
# File 'lib/runtime/persistence.rb', line 74 def delete_logger(database, logger) database.loggers.delete(logger) if database.loggers.include?(logger) end |
#disable_query_logging ⇒ Object
94 95 96 97 98 99 100 101 |
# File 'lib/runtime/persistence.rb', line 94 def disable_query_logging logger = DatabaseLogging.memo[:logger] Sequel::DATABASES.each do |database| logger.debug "Disabling query logging for #{database}" delete_logger(database, logger) set_log_level(database, DatabaseLogging.memo[:preserved_log_levels][database]) end end |
#enable_query_logging ⇒ Object
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/runtime/persistence.rb', line 83 def enable_query_logging DatabaseLogging.memo[:logger] ||= Logger.new($stdout) DatabaseLogging.memo[:preserved_log_levels] ||= {} logger = DatabaseLogging.memo[:logger] Sequel::DATABASES.each do |database| add_logger(database, logger) set_log_level(database, :debug) logger.debug "Enabled query logging for #{database}" end end |
#set_log_level(database, level) ⇒ Object
78 79 80 81 |
# File 'lib/runtime/persistence.rb', line 78 def set_log_level(database, level) DatabaseLogging.memo[:preserved_log_levels][database] = database.sql_log_level database.sql_log_level = level unless level.nil? end |