Module: SequelLoggers
- Included in:
- StoryTeller::Persistence
- Defined in:
- lib/story_teller/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
64 65 66 |
# File 'lib/story_teller/persistence.rb', line 64 def add_logger(database, logger) database.loggers << logger unless database.loggers.include?(logger) end |
#delete_logger(database, logger) ⇒ Object
68 69 70 |
# File 'lib/story_teller/persistence.rb', line 68 def delete_logger(database, logger) database.loggers.delete(logger) if database.loggers.include?(logger) end |
#disable_query_logging ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/story_teller/persistence.rb', line 88 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
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/story_teller/persistence.rb', line 77 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
72 73 74 75 |
# File 'lib/story_teller/persistence.rb', line 72 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 |