log_parser 1.1.1 → 1.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/log_parser/client.rb +4 -11
- data/lib/log_parser/configuration.rb +5 -0
- data/lib/log_parser/version.rb +1 -1
- data/lib/log_parser.rb +27 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e6ed6152d28bdb338838f6078a5ed7105c5b1ba
|
4
|
+
data.tar.gz: f78aae5d1523cab74c71f32f93613969c85d7a3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a86dd4b98c7a3fb9657e337b1c4cd0a73dc1a3a4f2950a8ff4fad7b6c7b176d00e39a0cec600d9330327a7dd263e06bfdd63173e831d652fbf6fa1cd9556ae05
|
7
|
+
data.tar.gz: d5494314a5c36b526f970f01d27369f8fc738c6738d42cec1b369f13b7a378447a384e2ac343df98626320a9e60f1b6dd54ec3a39db4da63365c56d05859315a
|
data/lib/log_parser/client.rb
CHANGED
@@ -10,26 +10,19 @@ module LogParser
|
|
10
10
|
# #=> ["[2014-11-13T23:12:14-07:00] ERROR [page_id 95239] Authentication failed with token ..."]
|
11
11
|
#
|
12
12
|
|
13
|
-
|
14
|
-
\[(\d+-\d+-\d+T\d+:\d+:\d+-\d+:\d+)\] # timestamp
|
15
|
-
(\s(\w+):)? # type of message (ERROR, WARNING, INFO)
|
16
|
-
(\s\[(.+)\])? # prefix (introduced by log.rb)
|
17
|
-
\s(.+)$ # message body
|
18
|
-
}x
|
19
|
-
|
20
|
-
attr_reader :file
|
13
|
+
attr_accessor :file, :line_pattern
|
21
14
|
attr_writer :lines
|
22
15
|
|
23
16
|
#
|
24
17
|
# @param [String|Pathname] log name of the file in 'log' directory or a Pathname object
|
25
18
|
# @param [Hash] options optional parameters
|
26
19
|
# @option :line_items is an array of LineItem objects
|
27
|
-
# @option :
|
20
|
+
# @option :line_pattern a custom pattern to use for matching lines
|
28
21
|
#
|
29
22
|
def initialize(log = '', options = {})
|
30
23
|
@file = log.is_a?(String) ? LogParser.path_for(log) : log
|
31
24
|
@lines = options[:line_items]
|
32
|
-
@
|
25
|
+
@line_pattern = options.fetch(:line_pattern, LogParser.line_pattern)
|
33
26
|
end
|
34
27
|
|
35
28
|
#
|
@@ -137,7 +130,7 @@ module LogParser
|
|
137
130
|
line = nil
|
138
131
|
begin
|
139
132
|
line = f.gets
|
140
|
-
line_items << LineItem.new($1, $3, $5, $6) if line =~
|
133
|
+
line_items << LineItem.new($1, $3, $5, $6) if line =~ line_pattern
|
141
134
|
end while line
|
142
135
|
end
|
143
136
|
line_items
|
data/lib/log_parser/version.rb
CHANGED
data/lib/log_parser.rb
CHANGED
@@ -2,11 +2,37 @@ require 'date'
|
|
2
2
|
require 'pathname'
|
3
3
|
|
4
4
|
require 'log_parser/version'
|
5
|
+
require 'log_parser/configuration'
|
5
6
|
require 'log_parser/line_item'
|
6
7
|
require 'log_parser/client'
|
7
8
|
|
8
9
|
module LogParser
|
9
|
-
|
10
|
+
extend self
|
11
|
+
|
12
|
+
LINE_PATTERN = %r{
|
13
|
+
\[(\d+-\d+-\d+T\d+:\d+:\d+-\d+:\d+)\] # timestamp
|
14
|
+
(\s(\w+):)? # type of message (ERROR, WARNING, INFO)
|
15
|
+
(\s\[(.+)\])? # prefix (introduced by log.rb)
|
16
|
+
\s(.+)$ # message body
|
17
|
+
}x
|
18
|
+
|
19
|
+
def path_for(file)
|
10
20
|
Pathname.new(File.join(Dir.pwd, 'log', file))
|
11
21
|
end
|
22
|
+
|
23
|
+
def configure
|
24
|
+
yield config
|
25
|
+
end
|
26
|
+
|
27
|
+
def config
|
28
|
+
@config ||= Configuration.new
|
29
|
+
end
|
30
|
+
|
31
|
+
def reset_config
|
32
|
+
@config = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def line_pattern
|
36
|
+
config.line_pattern || LINE_PATTERN
|
37
|
+
end
|
12
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: log_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Buckley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- Rakefile
|
53
53
|
- lib/log_parser.rb
|
54
54
|
- lib/log_parser/client.rb
|
55
|
+
- lib/log_parser/configuration.rb
|
55
56
|
- lib/log_parser/line_item.rb
|
56
57
|
- lib/log_parser/version.rb
|
57
58
|
- log_parser.gemspec
|