nais-log-parser 0.4.1 → 0.5.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 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