lib/sequel/database/logging.rb in sequel-3.34.1 vs lib/sequel/database/logging.rb in sequel-3.35.0

- old
+ new

@@ -15,10 +15,15 @@ # Log level at which to log SQL queries. This is actually the method # sent to the logger, so it should be the method name symbol. The default # is :info, it can be set to :debug to log at DEBUG level. attr_accessor :sql_log_level + # Log a message at error level, with information about the exception. + def log_exception(exception, message) + log_each(:error, "#{exception.class}: #{exception.message.strip}: #{message}") + end + # Log a message at level info to all loggers. def log_info(message, args=nil) log_each(:info, args ? "#{message}; #{args.inspect}" : message) end @@ -29,10 +34,10 @@ sql = "#{sql}; #{args.inspect}" if args start = Time.now begin yield rescue => e - log_each(:error, "#{e.class}: #{e.message.strip}: #{sql}") + log_exception(e, sql) raise ensure log_duration(Time.now - start, sql) unless e end end