nais-log-parser 0.4.1 → 0.5.0

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
  SHA1:
3
- metadata.gz: 7224efdfc51810769545a0ea1eeda16f40f7c796
4
- data.tar.gz: 5557a41ea23972b8df5ae826559a4c980eb5a1bb
3
+ metadata.gz: 9b6a7bc268c36858a6b4d7c7b946da78e15a411b
4
+ data.tar.gz: 3dd75b9d5b88fa05de43c568902a87fde152088d
5
5
  SHA512:
6
- metadata.gz: e6f0c331a79ed263cadd15be6b25da2ddcd80d53e89f8c484d658cd53fea6fac6e200a3adad1fbadad43aa6b71ce7e67bd6d61c0b4c2190596e7c372e40f3a44
7
- data.tar.gz: f05d0d099006cf3a43ecde7aed3e2a8053855194e6d16fbebe334c1dd6d3ffeff562359c7458f4474db7506cf78e4032f419d813f9d6cb8795c5b4945ded6b3d
6
+ metadata.gz: 915366edfece29a9e4c7aa013a2776ef35c062ad57b301adbf40b30e14f1ce3ec0cf9628f1e3eab59829ff22e2a6662da9b669f6b46e9a6eef644455d45b260b
7
+ data.tar.gz: '09133910d0d95e05c06f8c8c5ae69e2eaca8bb1411b47d564b2ed6bea4bfe4a5820baf59ea5f36d9ec798776cc6d2404aa9632b9f5b9ab751a618c276ff90b86'
@@ -1,7 +1,7 @@
1
1
  module Nais
2
2
  module Log
3
3
  module Parser
4
- VERSION = "0.4.1"
4
+ VERSION = "0.5.0"
5
5
  end
6
6
  end
7
7
  end
@@ -1,4 +1,5 @@
1
1
  require "nais/log/parser/version"
2
+ require "time"
2
3
 
3
4
  module Nais
4
5
  module Log
@@ -68,6 +69,47 @@ module Nais
68
69
  }
69
70
  r
70
71
  end
72
+
73
+ def Parser.parse_accesslog(str)
74
+ if m = str.match(/^(\S+) +(?:(\S+) )?(\S+) \[([^\]]+)\] \"([^\"]*)\" (\S+) (\S+)(.*)/)
75
+ r = {}
76
+ r['remote_ip'] = m[1]
77
+ r['ident'] = m[2] unless (m[2].nil? || m[2] == '-')
78
+ r['user'] = m[3] unless m[3] == '-'
79
+ r['timestamp'] = Time.strptime(m[4], "%d/%b/%Y:%H:%M:%S %Z").iso8601
80
+ r['request'] = m[5]
81
+ r['response_code'] = m[6] unless m[6] == '-'
82
+ r['content_length'] = m[7] unless m[7] == '-'
83
+ ext = m[8] unless m[8] == ''
84
+ return r, ext
85
+ else
86
+ return nil
87
+ end
88
+ end
89
+
90
+ def Parser.parse_glog(str)
91
+ if m = str.match(/^([IWEF])(\d{4} \d\d:\d\d:\d\d.\d{6})\s+(\S+)\s([^:]+):(\d+)]\s+(.*)/)
92
+ r = {}
93
+ r['level'] = case m[1]
94
+ when 'I'
95
+ 'Info'
96
+ when 'W'
97
+ 'Warning'
98
+ when 'E'
99
+ 'Error'
100
+ when 'F'
101
+ 'Fatal'
102
+ end
103
+ r['timestamp'] = Time.strptime(m[2], "%m%d %H:%M:%S.%N").iso8601(9)
104
+ r['thread'] = m[3]
105
+ r['file'] = m[4]
106
+ r['line'] = m[5]
107
+ r['message'] = m[6]
108
+ return r
109
+ else
110
+ return nil
111
+ end
112
+ end
71
113
 
72
114
  end
73
115
  end
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.1
4
+ version: 0.5.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: 2017-09-25 00:00:00.000000000 Z
11
+ date: 2017-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler