nais-log-parser 0.25.0 → 0.26.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/nais/log/parser/version.rb +1 -1
- data/lib/nais/log/parser.rb +47 -5
- 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: 92f7994d955835f001a575b0ff4001cf77a6483d
|
4
|
+
data.tar.gz: 8c49f344e450fced7c2a93fb629c0faa0cf97c6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 434b03929144db889fb7edacd7eb90f0e7c8c7d8be2db7259832d91a53344eea73efcac5f14d6ae7e51340c14d51cf1c94eea9b53312367ecbadd991b43a2a2d
|
7
|
+
data.tar.gz: 72000f8b16aa93d318e620636735dd8f70c1cc58c130385ddb0c5b6d912e31bbeb02b0901867942090c4a50fcf68d61c71aed98d3c88bd45fe188eed7f202245
|
data/lib/nais/log/parser.rb
CHANGED
@@ -3,18 +3,23 @@ require "nais/log/parser/version"
|
|
3
3
|
require "time"
|
4
4
|
require "json"
|
5
5
|
require "logfmt"
|
6
|
+
require "uri"
|
6
7
|
|
7
8
|
module Nais
|
8
9
|
module Log
|
9
10
|
module Parser
|
10
11
|
|
11
|
-
def Parser.flatten_hash(hash, path = "")
|
12
|
+
def Parser.flatten_hash(hash, path = "", keep = nil)
|
12
13
|
hash.each_with_object({}) do |(k, v), ret|
|
13
|
-
|
14
|
-
|
15
|
-
ret.merge! Parser.flatten_hash(v, key.to_s + "_")
|
14
|
+
if path == "" && !keep.nil? && k =~ keep
|
15
|
+
ret[k] = v
|
16
16
|
else
|
17
|
-
|
17
|
+
key = (path + k.to_s).tr('.','_')
|
18
|
+
if v.is_a? Hash
|
19
|
+
ret.merge! Parser.flatten_hash(v, key.to_s + "_")
|
20
|
+
else
|
21
|
+
ret[key] = v
|
22
|
+
end
|
18
23
|
end
|
19
24
|
end
|
20
25
|
end
|
@@ -137,6 +142,43 @@ module Nais
|
|
137
142
|
return r.empty? ? nil : r
|
138
143
|
end
|
139
144
|
|
145
|
+
def Parser.parse_uri(str)
|
146
|
+
r = {}
|
147
|
+
unless str.nil?
|
148
|
+
i = str.index('?')
|
149
|
+
if i.nil?
|
150
|
+
r['path'] = URI.decode(str)
|
151
|
+
else
|
152
|
+
if i != 0
|
153
|
+
r['path'] = URI.decode(str[0,i])
|
154
|
+
end
|
155
|
+
if i+1 < str.length
|
156
|
+
query = str[i+1, str.length]
|
157
|
+
kv = {}
|
158
|
+
query.scan(/([^=&]+)=([^&]+)/) do |k,v|
|
159
|
+
k.gsub!(/\+/, ' ')
|
160
|
+
k = URI.decode(k)
|
161
|
+
v.gsub!(/\+/, ' ')
|
162
|
+
v = URI.decode(v)
|
163
|
+
if kv.has_key?(k)
|
164
|
+
if kv[k].is_a?(Array)
|
165
|
+
next if kv[k].include?(v)
|
166
|
+
kv[k].push(v)
|
167
|
+
else
|
168
|
+
next if kv[k] == v
|
169
|
+
kv[k] = [kv[k], v]
|
170
|
+
end
|
171
|
+
else
|
172
|
+
kv[k] = v
|
173
|
+
end
|
174
|
+
end
|
175
|
+
r['query_params'] = kv unless kv.empty?
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
r
|
180
|
+
end
|
181
|
+
|
140
182
|
def Parser.parse_accesslog(str)
|
141
183
|
if !str.nil? && m = str.match(/^(\S+) +(?:(\S+) )?(\S+) \[([^\]]+)\] \"([^\"]*)\" (\S+) (\S+)(.*)/)
|
142
184
|
r = {}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nais-log-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Terje Sannum
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logfmt
|