Skip to content

Instantly share code, notes, and snippets.

@felix-d
Created October 23, 2017 17:47
Show Gist options
  • Save felix-d/c99ef753fa48ac5ee30d3c387d93669d to your computer and use it in GitHub Desktop.
Save felix-d/c99ef753fa48ac5ee30d3c387d93669d to your computer and use it in GitHub Desktop.

Revisions

  1. felix-d created this gist Oct 23, 2017.
    27 changes: 27 additions & 0 deletions sqllogging.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    class MyLogger < Logger
    def add(severity, message = nil, progname = nil)
    severity ||= UNKNOWN
    if @logdev.nil? or severity < @level
    return true
    end
    if progname.nil?
    progname = @progname
    end
    if message.nil?
    if block_given?
    message = yield
    else
    message = progname
    progname = @progname
    end
    end
    message = <<~MSG
    \n\033[95mSQL\033[0m:\n#{message}
    \033[92mTRACE\033[0m:\n\033[90m#{caller.reject { |c| c =~ /\/.gem\// }.join("\n")}\033[0m\n
    MSG
    @logdev.write(
    format_message(format_severity(severity), Time.now, progname, message))
    true
    end
    end
    ActiveRecord::Base.logger = MyLogger.new(STDOUT)