getaround_utils 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 482b5de4b125e852c88c47c579abf2fc0b1dc3cb529cfae3297867bd9230dd77
|
4
|
+
data.tar.gz: 10aa0c47f8f1c8c2fb121364b04106f3d301616976fee63a8328be497edafe65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 903d6190ddd4afb07c60807aaf0ad4d027ec631ec71c2df264ce4cc288cfd103e0d22417f672fd996e1cd0d1556ec7f92a78b0f3f10ebe2cf9e511808392de5e
|
7
|
+
data.tar.gz: eb1428e5f52272c858d54413155177a6d8f1c87fad418a67efa3012ed27489444b15f5f71cd6e79c9c617446d22173353d1c5a09d63ffd79cc335b7c09464312
|
data/Gemfile.lock
CHANGED
@@ -1,40 +1,62 @@
|
|
1
1
|
module GetaroundUtils; end
|
2
2
|
module GetaroundUtils::LogFormatters; end
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
4
|
+
module GetaroundUtils::LogFormatters
|
5
|
+
class DeepKeyValue
|
6
|
+
def serialize(data)
|
7
|
+
case data
|
8
|
+
when Array
|
9
|
+
flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
|
10
|
+
when Hash
|
11
|
+
flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
|
12
|
+
when Numeric
|
13
|
+
data.to_s
|
14
|
+
when String
|
15
|
+
data =~ /^".*"$/ ? data : data.inspect
|
16
|
+
else
|
17
|
+
data.to_s.inspect
|
18
|
+
end
|
17
19
|
end
|
18
|
-
end
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
# https://stackoverflow.com/questions/48836464/how-to-flatten-a-hash-making-each-key-a-unique-value
|
22
|
+
def flattify(value, result = {}, path = [])
|
23
|
+
case value
|
24
|
+
when Array
|
25
|
+
value.each.with_index(0) do |v, i|
|
26
|
+
flattify(v, result, path + [i])
|
27
|
+
end
|
28
|
+
when Hash
|
29
|
+
value.each do |k, v|
|
30
|
+
flattify(v, result, path + [k])
|
31
|
+
end
|
32
|
+
when Numeric
|
33
|
+
result[path.join(".")] = value.to_s
|
34
|
+
when String
|
35
|
+
result[path.join(".")] = value =~ /^".*"$/ ? value : value.inspect
|
36
|
+
else
|
37
|
+
result[path.join(".")] = value.to_s.inspect
|
26
38
|
end
|
27
|
-
|
28
|
-
|
29
|
-
|
39
|
+
result
|
40
|
+
end
|
41
|
+
|
42
|
+
def call(severity, datetime, appname, message)
|
43
|
+
payload = { severity: severity, datetime: datetime, appname: appname }
|
44
|
+
if message.is_a?(Hash)
|
45
|
+
payload.merge!(message)
|
46
|
+
else
|
47
|
+
payload[:message] = message.to_s
|
30
48
|
end
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
49
|
+
serialize(payload)
|
50
|
+
end
|
51
|
+
|
52
|
+
module Lograge
|
53
|
+
def call(data)
|
54
|
+
serialize(data)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.for_lograge
|
59
|
+
new.extend(Lograge)
|
37
60
|
end
|
38
|
-
result
|
39
61
|
end
|
40
62
|
end
|
@@ -17,11 +17,11 @@ class GetaroundUtils::Patches::KeyValueLogTags
|
|
17
17
|
@taggers.collect do |tag|
|
18
18
|
case tag
|
19
19
|
when Proc
|
20
|
-
@kv_formatter.
|
20
|
+
@kv_formatter.serialize(tag.call(request))
|
21
21
|
when Symbol
|
22
|
-
@kv_formatter.
|
22
|
+
@kv_formatter.serialize(tag => request.send(tag))
|
23
23
|
else
|
24
|
-
@kv_formatter.
|
24
|
+
@kv_formatter.serialize(tag => tag)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -26,7 +26,7 @@ class GetaroundUtils::Railties::Lograge < Rails::Railtie
|
|
26
26
|
end
|
27
27
|
|
28
28
|
config.lograge.enabled = true
|
29
|
-
config.lograge.formatter = GetaroundUtils::LogFormatters::DeepKeyValue.
|
29
|
+
config.lograge.formatter = GetaroundUtils::LogFormatters::DeepKeyValue.for_lograge
|
30
30
|
config.lograge.custom_options = lambda do |event|
|
31
31
|
event.payload[:lograge].compact
|
32
32
|
end
|