Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@felix-d
Created October 23, 2017 17:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • 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.
SQL logging with trace
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment