blob: 0014ce2689b5b8dcc9ffbe8b57d22afe804d3160 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
module Gitlab
module GrapeLogging
module Formatters
class LogrageWithTimestamp
include Gitlab::EncodingHelper
def call(severity, datetime, _, data)
time = data.delete :time
data[:params] = utf8_encode_values(data[:params]) if data.has_key?(:params)
attributes = {
time: datetime.utc.iso8601(3),
severity: severity,
duration: time[:total],
db: time[:db],
view: time[:view]
}.merge(data)
::Lograge.formatter.call(attributes) + "\n"
end
private
def utf8_encode_values(data)
case data
when Hash
data.merge(data) { |k, v| utf8_encode_values(v) }
when Array
data.map { |v| utf8_encode_values(v) }
when String
encode_utf8(data)
end
end
end
end
end
end
|