lib/lograge/sql.rb in lograge-sql-0.2.0 vs lib/lograge/sql.rb in lograge-sql-0.3.0

- old
+ new

@@ -1,7 +1,42 @@ require 'lograge/sql/version' module Lograge module Sql + + class << self + # Format SQL log + attr_accessor :formatter + # Extract information from SQL event + attr_accessor :extract_event + + # Initialise configuration with fallback to default values + def setup(config) + Lograge::Sql.formatter = config.formatter || default_formatter + Lograge::Sql.extract_event = config.extract_event || default_extract_event + end + + private + + # By default, the output is a concatenated string of all extracted events + def default_formatter + Proc.new do |sql_queries| + %('#{sql_queries.join("\n")}') + end + end + + # By default, only extract values required for the default_formatter and + # already convert to a string + def default_extract_event + Proc.new do |event| + "#{event.payload[:name]} (#{event.duration.to_f.round(2)}) #{event.payload[:sql]}" + end + end + + end + end end + +# Rails specific configuration +require 'lograge/sql/railtie' if defined?(Rails)