logfile_interval 2.1.2 → 2.1.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a422a1c2dd8f8e7f23f0383d0e136b092a759bb7
|
4
|
+
data.tar.gz: a00233a4c5d418409adebb04192f2ece523afd17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10ae89ce0a1634f7cb7f3dd12c9b729cf9b3423a69d6493ec61a185681adbcc5257422c2d9ca02ed353f34d67ec76e244042f1d984dcba0a826c74370f94c9c6
|
7
|
+
data.tar.gz: 3795d4971b016b9b5101f387d8fd7ee4dcb9e6551631f100cc7cbb22e49444622826ee8e594102f12fd588f3136f10281379a6f382452bad38f4b6d5b608b3ba
|
@@ -6,10 +6,13 @@ module LogfileInterval
|
|
6
6
|
|
7
7
|
def initialize(filenames, parser, order = :desc, &file_time_finder_block)
|
8
8
|
@parser = parser
|
9
|
-
@filenames =
|
9
|
+
@filenames = filenames
|
10
10
|
@order = order
|
11
11
|
@file_time_finder_block = file_time_finder_block if block_given?
|
12
12
|
|
13
|
+
reject_empty_files!
|
14
|
+
reject_files_with_no_valid_line!
|
15
|
+
|
13
16
|
raise ArgumentError, "invalid order value: #{@order}" unless ORDER_VALID_VALUES.include?(@order.to_sym)
|
14
17
|
end
|
15
18
|
|
@@ -68,10 +71,17 @@ module LogfileInterval
|
|
68
71
|
end
|
69
72
|
end
|
70
73
|
|
71
|
-
def reject_empty_files
|
72
|
-
filenames.reject do |fname|
|
74
|
+
def reject_empty_files!
|
75
|
+
@filenames.reject do |fname|
|
73
76
|
!File.size?(fname)
|
74
77
|
end
|
75
78
|
end
|
79
|
+
|
80
|
+
def reject_files_with_no_valid_line!
|
81
|
+
@filenames.reject! do |fname|
|
82
|
+
file = Logfile.new(fname, parser)
|
83
|
+
!file.first_parsed_line
|
84
|
+
end
|
85
|
+
end
|
76
86
|
end
|
77
87
|
end
|
@@ -6,7 +6,8 @@ module LogfileInterval
|
|
6
6
|
|
7
7
|
describe LogfileSet do
|
8
8
|
before :each do
|
9
|
-
@logfiles = ["#{data_dir}/access.log.2",
|
9
|
+
@logfiles = ["#{data_dir}/access.log.2",
|
10
|
+
"#{data_dir}/access.log.1"]
|
10
11
|
@set = LogfileSet.new(@logfiles, ParsedLine::AccessLog)
|
11
12
|
@first_line = '66.249.67.176 - - [23/Jun/2013:17:00:01 -0800] "GET /package/core/raring/universe/proposed/openldap HTTP/1.1" 200 185 "-" "Google"'
|
12
13
|
@second_line = '12.24.48.96 - - [23/Jun/2013:16:59:00 -0800] "GET /package/core/raring/universe/proposed/openldap HTTP/1.1" 200 4555 "-" "Bing)"'
|
@@ -55,13 +56,6 @@ module LogfileInterval
|
|
55
56
|
lines.last.should == @first_line
|
56
57
|
end
|
57
58
|
end
|
58
|
-
|
59
|
-
context 'emoty logfiles' do
|
60
|
-
it 'are ignored' do
|
61
|
-
set = LogfileSet.new(@logfiles, ParsedLine::AccessLog, :asc)
|
62
|
-
expect(set.ordered_filenames).to_not include("#{data_dir}/access.log.empty")
|
63
|
-
end
|
64
|
-
end
|
65
59
|
end
|
66
60
|
|
67
61
|
describe :each_parsed_line do
|
@@ -95,6 +89,32 @@ module LogfileInterval
|
|
95
89
|
@set.ordered_filenames.should == @non_empty_logfiles.reverse
|
96
90
|
end
|
97
91
|
|
92
|
+
context 'empty logfiles' do
|
93
|
+
before :each do
|
94
|
+
logfiles = ["#{data_dir}/access.log.2",
|
95
|
+
"#{data_dir}/access.log.1",
|
96
|
+
"#{data_dir}/access.log.empty"]
|
97
|
+
@set_with_empty = LogfileSet.new(logfiles, ParsedLine::AccessLog)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'are ignored' do
|
101
|
+
expect(@set_with_empty.ordered_filenames).to_not include("#{data_dir}/access.log.empty")
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
context 'logfiles with no valid line' do
|
106
|
+
before :each do
|
107
|
+
logfiles = ["#{data_dir}/access.log.2",
|
108
|
+
"#{data_dir}/access.log.1",
|
109
|
+
"#{data_dir}/access.log.invalid"]
|
110
|
+
@set_with_invalid = LogfileSet.new(logfiles, ParsedLine::AccessLog)
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'are ignored' do
|
114
|
+
expect(@set_with_invalid.ordered_filenames).to_not include("#{data_dir}/access.log.invalid")
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
98
118
|
context 'with file_time_finder_block' do
|
99
119
|
it 'sorts the files in the order described in the block' do
|
100
120
|
set = LogfileSet.new(@logfiles, ParsedLine::AccessLog) do |filename|
|
@@ -0,0 +1 @@
|
|
1
|
+
no valid line
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logfile_interval
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philippe Le Rohellec
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- spec/support/logfiles/access.log.2
|
138
138
|
- spec/support/logfiles/access.log.3
|
139
139
|
- spec/support/logfiles/access.log.empty
|
140
|
+
- spec/support/logfiles/access.log.invalid
|
140
141
|
- spec/support/logfiles/timing.log
|
141
142
|
- spec/support/logfiles/timing.log.1
|
142
143
|
- spec/support/logfiles/timing.log.2
|
@@ -183,6 +184,7 @@ test_files:
|
|
183
184
|
- spec/support/logfiles/access.log.2
|
184
185
|
- spec/support/logfiles/access.log.3
|
185
186
|
- spec/support/logfiles/access.log.empty
|
187
|
+
- spec/support/logfiles/access.log.invalid
|
186
188
|
- spec/support/logfiles/timing.log
|
187
189
|
- spec/support/logfiles/timing.log.1
|
188
190
|
- spec/support/logfiles/timing.log.2
|