mu-ruby 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mu/logger.rb +32 -2
- data/lib/mu/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4df10b9b7c093567fcdf462dc90e18c4252a27f8
|
4
|
+
data.tar.gz: 30c0f7df1ed69d97a927e34f3b67ffe24d962720
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2828804707e577896042d734f1c8c5bb0e23d54127f58be4097ca842aa13b45e23d99d477dec9e1f5022f531aeee8687e3a3eb13b67b2d504b7b5edc48e8a86
|
7
|
+
data.tar.gz: c8a0194f847623942c5048dcf4580f8ea9a04c896342b53ebab2bc2ef8d2fe9d11f1c627d2dff5ab065b02c00be5a0190f9e70c98f8af65eaa3e5b174c8511c2
|
data/lib/mu/logger.rb
CHANGED
@@ -32,8 +32,24 @@ module Mu
|
|
32
32
|
RubyCompatibleLogger.new(event, @logger)
|
33
33
|
end
|
34
34
|
|
35
|
+
def mask(key)
|
36
|
+
key = case key
|
37
|
+
when String
|
38
|
+
/#{key}/
|
39
|
+
when Symbol
|
40
|
+
/#{key.to_s}/
|
41
|
+
when Regexp
|
42
|
+
key
|
43
|
+
end
|
44
|
+
mask_keys << key
|
45
|
+
end
|
46
|
+
|
35
47
|
private
|
36
48
|
|
49
|
+
def mask_keys
|
50
|
+
@mask_keys ||= []
|
51
|
+
end
|
52
|
+
|
37
53
|
def create_logger(args)
|
38
54
|
return ::Logger.new(STDOUT) if args.empty? # Default to STDOUT
|
39
55
|
return args[0] if logger?(args[0])
|
@@ -67,10 +83,10 @@ module Mu
|
|
67
83
|
raise
|
68
84
|
ensure
|
69
85
|
extra['duration'] = (now - t0)
|
70
|
-
@logger.send(method,
|
86
|
+
@logger.send(method, enrich_log_data(extra))
|
71
87
|
end
|
72
88
|
else
|
73
|
-
@logger.send(method,
|
89
|
+
@logger.send(method, enrich_log_data(extra))
|
74
90
|
end
|
75
91
|
end
|
76
92
|
|
@@ -82,6 +98,20 @@ module Mu
|
|
82
98
|
Time.now.to_f * 1000
|
83
99
|
end
|
84
100
|
|
101
|
+
def enrich_log_data(data)
|
102
|
+
data = mask_values(data)
|
103
|
+
prefix_and_flatten_hash(data)
|
104
|
+
end
|
105
|
+
|
106
|
+
def mask_values(data)
|
107
|
+
data.each { |k, v| data[k] = v.gsub(/./, '#') if should_mask?(k)}
|
108
|
+
end
|
109
|
+
|
110
|
+
def should_mask?(key)
|
111
|
+
return false unless @mask_keys
|
112
|
+
@mask_keys.find {|maskable| key =~ maskable }
|
113
|
+
end
|
114
|
+
|
85
115
|
MAX_NESTED_LEVELS = 7
|
86
116
|
|
87
117
|
def prefix_and_flatten_hash(hash, prefix = '', level = 1)
|
data/lib/mu/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mu-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Pfister
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|