class SafePgMigrations::VerboseSqlLogger
Public Instance Methods
setup()
click to toggle source
# File lib/safe-pg-migrations/plugins/verbose_sql_logger.rb, line 5 def setup @activerecord_logger_was = ActiveRecord::Base.logger @verbose_query_logs_was = ActiveRecord::Base.verbose_query_logs @colorize_logging_was = ActiveRecord::LogSubscriber.colorize_logging disable_marginalia if defined?(Marginalia) stdout_logger = Logger.new($stdout, formatter: ->(_severity, _time, _progname, query) { "#{query}\n" }) ActiveRecord::Base.logger = stdout_logger ActiveRecord::LogSubscriber.colorize_logging = colorize_logging? # Do not output caller method, we know it is coming from the migration ActiveRecord::Base.verbose_query_logs = false self end
teardown()
click to toggle source
# File lib/safe-pg-migrations/plugins/verbose_sql_logger.rb, line 20 def teardown ActiveRecord::Base.verbose_query_logs = @verbose_query_logs_was ActiveRecord::LogSubscriber.colorize_logging = @colorize_logging_was ActiveRecord::Base.logger = @activerecord_logger_was enable_marginalia if defined?(Marginalia) end
Private Instance Methods
colorize_logging?()
click to toggle source
# File lib/safe-pg-migrations/plugins/verbose_sql_logger.rb, line 29 def colorize_logging? defined?(Rails) && Rails.env.development? end
disable_marginalia()
click to toggle source
Marginalia annotations will most likely pollute the output
# File lib/safe-pg-migrations/plugins/verbose_sql_logger.rb, line 34 def disable_marginalia @marginalia_components_were = Marginalia::Comment.components Marginalia::Comment.components = [] end
enable_marginalia()
click to toggle source
# File lib/safe-pg-migrations/plugins/verbose_sql_logger.rb, line 39 def enable_marginalia Marginalia::Comment.components = @marginalia_components_were end