logbox 0.2.10
Sign up to get free protection for your applications and to get access to all the features.
- data/.bundle/config +3 -0
- data/.rvmrc +2 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +30 -0
- data/README +14 -0
- data/Rakefile +74 -0
- data/VERSION +1 -0
- data/bin/download_logs +20 -0
- data/bin/obsstats +39 -0
- data/bin/rotate +17 -0
- data/bin/viewobs +198 -0
- data/lib/logbox.rb +9 -0
- data/lib/logbox/ansi_colors.rb +28 -0
- data/lib/logbox/log_parser.rb +79 -0
- data/lib/logbox/mockup_log.rb +44 -0
- data/lib/logbox/observation.rb +162 -0
- data/lib/logbox/observation_compiler.rb +311 -0
- data/lib/logbox/observation_mover.rb +142 -0
- data/lib/logbox/stream_wrapper.rb +20 -0
- data/lib/logbox/stream_wrapper/gzip_multi_file.rb +90 -0
- data/lib/logbox/stream_wrapper/observation_filter.rb +113 -0
- data/lib/logbox/stream_wrapper/order_blob_splitter.rb +96 -0
- data/lib/setup_environment.rb +15 -0
- data/logbox.gemspec +110 -0
- data/test/bin_viewobs_test.rb +42 -0
- data/test/fixtures/aws_keys_yaml.txt +3 -0
- data/test/fixtures/double-obs.log +1 -0
- data/test/fixtures/error_line.log +1 -0
- data/test/fixtures/log-for-md5.log +1 -0
- data/test/fixtures/log0.log +0 -0
- data/test/fixtures/log1.log +1 -0
- data/test/fixtures/log1.log.gz +0 -0
- data/test/fixtures/log2.log +2 -0
- data/test/fixtures/log2.log.gz +0 -0
- data/test/fixtures/log_invalid_mixed_encoding.log +1 -0
- data/test/fixtures/observation_filter.log +5 -0
- data/test/fixtures/unquoted_ugliness.log +2 -0
- data/test/log_parser_test.rb +84 -0
- data/test/observation_compiler_test.rb +216 -0
- data/test/observation_mover_test.rb +135 -0
- data/test/observation_test.rb +114 -0
- data/test/stream_wrapper/gzip_multi_file_test.rb +147 -0
- data/test/stream_wrapper/observation_filter_test.rb +171 -0
- data/test/stream_wrapper/order_blob_splitter_test.rb +129 -0
- data/test/test_helper.rb +23 -0
- metadata +177 -0
@@ -0,0 +1,129 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'test_helper'
|
3
|
+
require 'stream_wrapper'
|
4
|
+
include StreamWrapper
|
5
|
+
|
6
|
+
class StreamWrapper::OrderBlobSplitterTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
PICK_ITEM = %Q{81.225.100.141 - - [23/Nov/2009:06:26:04 +0100] "GET /log.gif?_item_id=3895&a=Mozilla%2F4.0%20(compatible%3B%20MSIE%207.0%3B%20Windows%20NT%205.1%3B%20Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1)%20%3B%20.NET%20CLR%201.1.4322%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%203.0.4506.2152%3B%20.NET%20CLR%203.5.30729%3B%20InfoPath.2)&aid=jetshop&e=click&l=sv&n=microsoft%20internet%20explorer&o=pick_item&p=win32&r=http%3A%2F%2Fwww.24.se%2Fsandisk-micro-secure-digital-2gb-p-1485.aspx&s=1024x768&sid=www.24.se&t=Sandisk%20MicroSD%20HC%208GB&u=http%3A%2F%2Fwww.24.se%2Fsandisk-microsd-hc-8gb-p-3895.aspx&uid=1258953499669667731&x=28543&z=-60& HTTP/1.1" 200 35 "http://www.24.se/sandisk-microsd-hc-8gb-p-3895.aspx" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)"\n}
|
9
|
+
BUY_BASKET = %Q{81.225.100.141 - - [23/Nov/2009:06:45:23 +0100] "GET /log.gif?_order_blob=RW%3AT%7C2142%7C%7C1079.00%7C215.80%7C0.00%7Cstr%C3%B6mstad%7C%7CSweden%7C%20%0ARW%3AI%7C2142%7CMATAW09%20Wanni%20L%7COverall%20(98)%7C%7C1079.00%7C1%7C&a=Mozilla%2F4.0%20(compatible%3B%20MSIE%208.0%3B%20Windows%20NT%205.1%3B%20Trident%2F4.0%3B%20Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1)%20%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%203.0.4506.2152%3B%20.NET%20CLR%203.5.30729)&aid=jetshop&l=sv&n=microsoft%20internet%20explorer&o=buy_basket&p=win32&s=1024x600&sid=www.pixiekids.se&t=Unika%20barnkl%C3%A4der%20%26%20babykl%C3%A4der%20hos%20Pixiekids%20%E2%8E%AE%200-10%20%C3%A5r&u=https%3A%2F%2Fwww.pixiekids.se%2FOrderDetailsConfirmed.aspx&uid=1258954551578656003&x=87544&z=-60& HTTP/1.1" 200 35 "https://www.pixiekids.se/OrderDetailsConfirmed.aspx" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"\n}
|
10
|
+
BUY_BASKET_WITH_2_ITEMS = %Q{81.225.100.141 - - [23/Nov/2009:06:45:23 +0100] "GET /log.gif?_order_blob=RW%3AT%7C2142%7C%7C1079.00%7C215.80%7C0.00%7Cstr%C3%B6mstad%7C%7CSweden%7C%20%0ARW%3AI%7C2142%7CMATAW09%20Wanni%20L%7COverall%20(98)%7C%7C1079.00%7C1%7CRW%3AI%7C2142%7CMATAW09%20Wanni%20L%7COverall%20(98)%7C%7C1079.00%7C1%7C&a=Mozilla%2F4.0%20(compatible%3B%20MSIE%208.0%3B%20Windows%20NT%205.1%3B%20Trident%2F4.0%3B%20Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1)%20%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%203.0.4506.2152%3B%20.NET%20CLR%203.5.30729)&aid=jetshop&l=sv&n=microsoft%20internet%20explorer&o=buy_basket&p=win32&s=1024x600&sid=www.pixiekids.se&t=Unika%20barnkl%C3%A4der%20%26%20babykl%C3%A4der%20hos%20Pixiekids%20%E2%8E%AE%200-10%20%C3%A5r&u=https%3A%2F%2Fwww.pixiekids.se%2FOrderDetailsConfirmed.aspx&uid=1258954551578656003&x=87544&z=-60& HTTP/1.1" 200 35 "https://www.pixiekids.se/OrderDetailsConfirmed.aspx" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"\n}
|
11
|
+
EXPANDED_BUY_BASKET = %Q{81.225.100.141 - - [23/Nov/2009:06:45:23 +0100] "GET /log.gif?_city=str%C3%B6mstad&_country=Sweden&_order_blob=RW%3AT%7C2142%7C%7C1079.00%7C215.80%7C0.00%7Cstr%C3%B6mstad%7C%7CSweden%7C%20%0ARW%3AI%7C2142%7CMATAW09%20Wanni%20L%7COverall%20(98)%7C%7C1079.00%7C1%7C&_order_id=2142&_shipping=0.00&_tax=215.80&_total=1079.00&a=Mozilla%2F4.0%20(compatible%3B%20MSIE%208.0%3B%20Windows%20NT%205.1%3B%20Trident%2F4.0%3B%20Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1)%20%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%203.0.4506.2152%3B%20.NET%20CLR%203.5.30729)&aid=jetshop&l=sv&n=microsoft%20internet%20explorer&o=buy_basket&p=win32&s=1024x600&sid=www.pixiekids.se&t=Unika%20barnkl%C3%A4der%20%26%20babykl%C3%A4der%20hos%20Pixiekids%20%E2%8E%AE%200-10%20%C3%A5r&u=https%3A%2F%2Fwww.pixiekids.se%2FOrderDetailsConfirmed.aspx&uid=1258954551578656003&x=87544&z=-60& HTTP/1.1" 200 35 "https://www.pixiekids.se/OrderDetailsConfirmed.aspx" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"\n}
|
12
|
+
BUY_ITEM = %Q{81.225.100.141 - - [23/Nov/2009:06:45:23 +0100] "GET /log.gif?_current_price=1079.00&_order_id=2142&_quantity=1&_sku=MATAW09+Wanni+L&_title=Overall+%2898%29&a=Mozilla%2F4.0%20(compatible%3B%20MSIE%208.0%3B%20Windows%20NT%205.1%3B%20Trident%2F4.0%3B%20Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1)%20%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%203.0.4506.2152%3B%20.NET%20CLR%203.5.30729)&aid=jetshop&l=sv&n=microsoft%20internet%20explorer&o=buy_item&p=win32&s=1024x600&sid=www.pixiekids.se&t=Unika%20barnkl%C3%A4der%20%26%20babykl%C3%A4der%20hos%20Pixiekids%20%E2%8E%AE%200-10%20%C3%A5r&u=https%3A%2F%2Fwww.pixiekids.se%2FOrderDetailsConfirmed.aspx&uid=1258954551578656003&x=87544&z=-60& HTTP/1.1" 200 35 "https://www.pixiekids.se/OrderDetailsConfirmed.aspx" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"\n}
|
13
|
+
|
14
|
+
context "An OrderBlobSplitter" do
|
15
|
+
|
16
|
+
should "not report eof unless stream is eof" do
|
17
|
+
s = OrderBlobSplitter.new("oneline\n")
|
18
|
+
assert(!s.eof?)
|
19
|
+
s.gets
|
20
|
+
assert(s.eof?)
|
21
|
+
end
|
22
|
+
|
23
|
+
should "handle an empty stream" do
|
24
|
+
s = OrderBlobSplitter.new("")
|
25
|
+
assert(s.eof?)
|
26
|
+
assert_equal(nil, s.gets)
|
27
|
+
end
|
28
|
+
|
29
|
+
should "pass a nonsense line right through" do
|
30
|
+
s = OrderBlobSplitter.new("apa")
|
31
|
+
assert_equal("apa", s.gets)
|
32
|
+
end
|
33
|
+
|
34
|
+
should "just let non buy_baskets through unmodified" do
|
35
|
+
s = OrderBlobSplitter.new(PICK_ITEM + PICK_ITEM)
|
36
|
+
assert_equal(PICK_ITEM, s.gets)
|
37
|
+
assert_equal(PICK_ITEM, s.gets)
|
38
|
+
assert(s.eof?)
|
39
|
+
end
|
40
|
+
|
41
|
+
should "expand a buy_basket with attributes from an order_blob" do
|
42
|
+
s = OrderBlobSplitter.new(BUY_BASKET)
|
43
|
+
assert_equal(EXPANDED_BUY_BASKET, s.gets)
|
44
|
+
assert(s.eof?)
|
45
|
+
end
|
46
|
+
|
47
|
+
should "add one buy_item line for an order_blob with an item" do
|
48
|
+
s = OrderBlobSplitter.new(BUY_BASKET)
|
49
|
+
s.gets # EXPANDED_BUY_BASKET
|
50
|
+
assert_equal(BUY_ITEM, s.gets)
|
51
|
+
assert(s.eof?)
|
52
|
+
end
|
53
|
+
|
54
|
+
should "add one buy_item for each item in an order_blob with two items" do
|
55
|
+
s = OrderBlobSplitter.new(BUY_BASKET_WITH_2_ITEMS)
|
56
|
+
s.gets # EXPANDED_BUY_BASKET
|
57
|
+
assert_equal(BUY_ITEM, s.gets)
|
58
|
+
assert_equal(BUY_ITEM, s.gets)
|
59
|
+
assert_equal(nil, s.gets)
|
60
|
+
assert(s.eof?)
|
61
|
+
end
|
62
|
+
|
63
|
+
context "with private method" do
|
64
|
+
|
65
|
+
setup do
|
66
|
+
@s = OrderBlobSplitter.new("")
|
67
|
+
end
|
68
|
+
|
69
|
+
context "extract_order_blob" do
|
70
|
+
should "know extract the blob if it is there" do
|
71
|
+
blob = @s.send(:extract_order_blob, BUY_BASKET)
|
72
|
+
assert_equal(%Q{RW:T|2142||1079.00|215.80|0.00|strömstad||Sweden| \nRW:I|2142|MATAW09 Wanni L|Overall (98)||1079.00|1|}, blob)
|
73
|
+
end
|
74
|
+
should "return an empty string if there is no blob" do
|
75
|
+
blob = @s.send(:extract_order_blob, PICK_ITEM)
|
76
|
+
assert_equal("", blob)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context "insert_user_attributes" do
|
81
|
+
should "return the same string if no attributes are given." do
|
82
|
+
line = @s.send(:insert_user_attributes, BUY_BASKET, {})
|
83
|
+
assert_equal(BUY_BASKET, line)
|
84
|
+
end
|
85
|
+
should "add parameters in alphabetic order" do
|
86
|
+
line = @s.send(:insert_user_attributes, "...?_aa=11&_dd=44&aid=...", {:cc => "33", :bb => "22"})
|
87
|
+
assert_equal("...?_aa=11&_bb=22&_cc=33&_dd=44&aid=...", line)
|
88
|
+
end
|
89
|
+
should "encode keys" do
|
90
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&aid=...", {"|".to_sym => "a"})
|
91
|
+
assert_equal("...?_%7C=a&_a=1&aid=...", line)
|
92
|
+
end
|
93
|
+
should "encode values" do
|
94
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&aid=...", {:b => "|"})
|
95
|
+
assert_equal("...?_a=1&_b=%7C&aid=...", line)
|
96
|
+
end
|
97
|
+
should "not include empty values" do
|
98
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&aid=...", {:b => "", :c => nil})
|
99
|
+
assert_equal("...?_a=1&aid=...", line)
|
100
|
+
end
|
101
|
+
should "overwite attributes found in the line" do
|
102
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&aid=...", {:a => "2"})
|
103
|
+
assert_equal("...?_a=2&aid=...", line)
|
104
|
+
end
|
105
|
+
should "let through multiple values for an attribute in the line" do
|
106
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&_a=1&aid=...", {})
|
107
|
+
assert_equal("...?_a=1&_a=1&aid=...", line)
|
108
|
+
end
|
109
|
+
should "replace multiple values for an attribute in the line" do
|
110
|
+
line = @s.send(:insert_user_attributes, "...?_a=1&_a=1&aid=...", {:a => "2"})
|
111
|
+
assert_equal("...?_a=2&aid=...", line)
|
112
|
+
end
|
113
|
+
context "in replace mode" do
|
114
|
+
should "return an observation with no user attributes if none are given." do
|
115
|
+
line = @s.send(:insert_user_attributes, "...?_aa=11&_dd=44&aid=...", {}, :replace)
|
116
|
+
assert_equal("...?aid=...", line)
|
117
|
+
end
|
118
|
+
should "add parameters in alphabetic order without old parameters" do
|
119
|
+
line = @s.send(:insert_user_attributes, "...?_aa=11&_dd=44&aid=...", {:cc => "33", :bb => "22"}, :replace)
|
120
|
+
assert_equal("...?_bb=22&_cc=33&aid=...", line)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
TEST_RUN = true
|
2
|
+
|
3
|
+
require 'setup_environment'
|
4
|
+
require 'test/unit'
|
5
|
+
|
6
|
+
require 'shoulda'
|
7
|
+
require 'mocha'
|
8
|
+
|
9
|
+
|
10
|
+
require 'mockup_log'
|
11
|
+
|
12
|
+
class Test::Unit::TestCase
|
13
|
+
include MockupLog
|
14
|
+
|
15
|
+
def read_fixture_file (name)
|
16
|
+
File.read(fixture_file(name))
|
17
|
+
end
|
18
|
+
|
19
|
+
def fixture_file (name)
|
20
|
+
File.join(File.dirname(__FILE__), "fixtures/#{name}")
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: logbox
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.10
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- dvrensk
|
9
|
+
- enarsson
|
10
|
+
- Jell
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
date: 2011-12-22 00:00:00.000000000 +01:00
|
15
|
+
default_executable:
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
name: right_aws
|
19
|
+
requirement: &70161206465840 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '2.0'
|
25
|
+
type: :runtime
|
26
|
+
prerelease: false
|
27
|
+
version_requirements: *70161206465840
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: single_instance
|
30
|
+
requirement: &70161206464580 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: *70161206464580
|
39
|
+
- !ruby/object:Gem::Dependency
|
40
|
+
name: rake
|
41
|
+
requirement: &70161206463560 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: *70161206463560
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bundler
|
52
|
+
requirement: &70161206462420 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 1.0.0
|
58
|
+
type: :development
|
59
|
+
prerelease: false
|
60
|
+
version_requirements: *70161206462420
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: jeweler
|
63
|
+
requirement: &70161206461260 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.5.1
|
69
|
+
type: :development
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: *70161206461260
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: rcov
|
74
|
+
requirement: &70161206460020 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
type: :development
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: *70161206460020
|
83
|
+
description: Log-related code and tools that are used cross different applications
|
84
|
+
email: dev@icehouse.se
|
85
|
+
executables:
|
86
|
+
- download_logs
|
87
|
+
- obsstats
|
88
|
+
- rotate
|
89
|
+
- viewobs
|
90
|
+
extensions: []
|
91
|
+
extra_rdoc_files:
|
92
|
+
- README
|
93
|
+
files:
|
94
|
+
- .bundle/config
|
95
|
+
- .rvmrc
|
96
|
+
- Gemfile
|
97
|
+
- Gemfile.lock
|
98
|
+
- README
|
99
|
+
- Rakefile
|
100
|
+
- VERSION
|
101
|
+
- bin/download_logs
|
102
|
+
- bin/obsstats
|
103
|
+
- bin/rotate
|
104
|
+
- bin/viewobs
|
105
|
+
- lib/logbox.rb
|
106
|
+
- lib/logbox/ansi_colors.rb
|
107
|
+
- lib/logbox/log_parser.rb
|
108
|
+
- lib/logbox/mockup_log.rb
|
109
|
+
- lib/logbox/observation.rb
|
110
|
+
- lib/logbox/observation_compiler.rb
|
111
|
+
- lib/logbox/observation_mover.rb
|
112
|
+
- lib/logbox/stream_wrapper.rb
|
113
|
+
- lib/logbox/stream_wrapper/gzip_multi_file.rb
|
114
|
+
- lib/logbox/stream_wrapper/observation_filter.rb
|
115
|
+
- lib/logbox/stream_wrapper/order_blob_splitter.rb
|
116
|
+
- lib/setup_environment.rb
|
117
|
+
- logbox.gemspec
|
118
|
+
- test/bin_viewobs_test.rb
|
119
|
+
- test/fixtures/aws_keys_yaml.txt
|
120
|
+
- test/fixtures/double-obs.log
|
121
|
+
- test/fixtures/error_line.log
|
122
|
+
- test/fixtures/log-for-md5.log
|
123
|
+
- test/fixtures/log0.log
|
124
|
+
- test/fixtures/log1.log
|
125
|
+
- test/fixtures/log1.log.gz
|
126
|
+
- test/fixtures/log2.log
|
127
|
+
- test/fixtures/log2.log.gz
|
128
|
+
- test/fixtures/log_invalid_mixed_encoding.log
|
129
|
+
- test/fixtures/observation_filter.log
|
130
|
+
- test/fixtures/unquoted_ugliness.log
|
131
|
+
- test/log_parser_test.rb
|
132
|
+
- test/observation_compiler_test.rb
|
133
|
+
- test/observation_mover_test.rb
|
134
|
+
- test/observation_test.rb
|
135
|
+
- test/stream_wrapper/gzip_multi_file_test.rb
|
136
|
+
- test/stream_wrapper/observation_filter_test.rb
|
137
|
+
- test/stream_wrapper/order_blob_splitter_test.rb
|
138
|
+
- test/test_helper.rb
|
139
|
+
has_rdoc: true
|
140
|
+
homepage: https://github.com/icehouse/logbox
|
141
|
+
licenses:
|
142
|
+
- MIT
|
143
|
+
post_install_message:
|
144
|
+
rdoc_options: []
|
145
|
+
require_paths:
|
146
|
+
- lib
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
segments:
|
154
|
+
- 0
|
155
|
+
hash: -3282874155162756304
|
156
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
158
|
+
requirements:
|
159
|
+
- - ! '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
requirements: []
|
163
|
+
rubyforge_project:
|
164
|
+
rubygems_version: 1.6.2
|
165
|
+
signing_key:
|
166
|
+
specification_version: 3
|
167
|
+
summary: A Toolbox for Logs and Observations
|
168
|
+
test_files:
|
169
|
+
- test/bin_viewobs_test.rb
|
170
|
+
- test/log_parser_test.rb
|
171
|
+
- test/observation_compiler_test.rb
|
172
|
+
- test/observation_mover_test.rb
|
173
|
+
- test/observation_test.rb
|
174
|
+
- test/stream_wrapper/gzip_multi_file_test.rb
|
175
|
+
- test/stream_wrapper/observation_filter_test.rb
|
176
|
+
- test/stream_wrapper/order_blob_splitter_test.rb
|
177
|
+
- test/test_helper.rb
|