7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/spring_onion/json_logger.rb', line 7
def log(sql:, explain:, warnings:, trace:)
h = {
sql: sql,
explain: explain.each_with_index.map { |r, i| { line: i + 1 }.merge(r) },
warnings: warnings.transform_keys { |i| "line #{i + 1}" },
backtrace: trace.slice(0, SpringOnion.trace_len),
}
line = if SpringOnion.json_pretty
JSON.pretty_generate(h)
else
JSON.dump(h)
end
line = CodeRay.scan(line, :json).terminal if SpringOnion.color
SpringOnion.logger.info(line)
end
|