papertrail 0.9.11 → 0.9.12
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.
- data/lib/papertrail.rb +1 -1
- data/lib/papertrail/cli.rb +5 -26
- data/lib/papertrail/connection.rb +60 -1
- data/papertrail.gemspec +2 -2
- metadata +63 -46
- checksums.yaml +0 -7
data/lib/papertrail.rb
CHANGED
data/lib/papertrail/cli.rb
CHANGED
|
@@ -128,33 +128,12 @@ module Papertrail
|
|
|
128
128
|
max_time = parse_time(options[:max_time])
|
|
129
129
|
end
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if max_time && event.received_at > max_time
|
|
137
|
-
break
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
if options[:json]
|
|
141
|
-
$stdout.puts Papertrail::OkJson.encode(event.data)
|
|
142
|
-
else
|
|
143
|
-
$stdout.puts event
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
# If we've found the end of what we're looking for, we're done
|
|
148
|
-
if max_time && search_results.max_time_at > max_time
|
|
149
|
-
break
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
if search_results.reached_end?
|
|
153
|
-
break
|
|
131
|
+
connection.each_event(@query, query_options.merge(:min_time => min_time, :max_time => max_time)) do |event|
|
|
132
|
+
if options[:json]
|
|
133
|
+
$stdout.puts Papertrail::OkJson.encode(event.data)
|
|
134
|
+
else
|
|
135
|
+
$stdout.puts event
|
|
154
136
|
end
|
|
155
|
-
|
|
156
|
-
# Perform the next search
|
|
157
|
-
search_results = connection.query(@query, query_options.merge(:min_id => search_results.max_id, :tail => false)).search
|
|
158
137
|
end
|
|
159
138
|
end
|
|
160
139
|
|
|
@@ -74,7 +74,7 @@ module Papertrail
|
|
|
74
74
|
items.each do |item|
|
|
75
75
|
results << item if item['name'] =~ /#{Regexp.escape(name_wanted)}/i
|
|
76
76
|
end
|
|
77
|
-
|
|
77
|
+
|
|
78
78
|
results
|
|
79
79
|
end
|
|
80
80
|
|
|
@@ -160,5 +160,64 @@ module Papertrail
|
|
|
160
160
|
def query(query = nil, options = {})
|
|
161
161
|
Papertrail::SearchQuery.new(self, query, options)
|
|
162
162
|
end
|
|
163
|
+
|
|
164
|
+
def each_event(query_term = nil, options = {}, &block)
|
|
165
|
+
# If there was no query but there were options, shuffle around
|
|
166
|
+
# the parameters
|
|
167
|
+
if query_term.is_a?(Hash)
|
|
168
|
+
options, query_term = query_term, nil
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Remove all of the options that shouldn't be in each query
|
|
172
|
+
options = options.dup
|
|
173
|
+
min_id = options.delete(:min_id)
|
|
174
|
+
max_id = options.delete(:max_id)
|
|
175
|
+
min_time = options.delete(:min_time)
|
|
176
|
+
max_time = options.delete(:max_time)
|
|
177
|
+
|
|
178
|
+
# Figure out where to start querying
|
|
179
|
+
if min_id
|
|
180
|
+
search_results = query(query_term, options.merge(:min_id => min_id, :tail => false)).search
|
|
181
|
+
elsif min_time
|
|
182
|
+
search_results = query(query_term, options.merge(:min_time => min_time.to_i, :tail => false)).search
|
|
183
|
+
else
|
|
184
|
+
raise ArgumentError, "Either :min_id or :min_time must be specified"
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# Start processing events
|
|
188
|
+
loop do
|
|
189
|
+
search_results.events.each do |event|
|
|
190
|
+
# If we've found an event beyond what we were looking for, we're done
|
|
191
|
+
if max_time && event.received_at > max_time
|
|
192
|
+
break
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
if max_id && event.id > max_id
|
|
196
|
+
break
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
block.call(event)
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# If we've found the end of what we're looking for, we're done
|
|
203
|
+
if max_time && search_results.max_time_at > max_time
|
|
204
|
+
break
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
if max_id && search_results.max_id > max_id
|
|
208
|
+
break
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# If we've reached the most current log message, we're done
|
|
212
|
+
if search_results.reached_end?
|
|
213
|
+
break
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Perform the next search
|
|
217
|
+
search_results = query(query_term, options.merge(:min_id => search_results.max_id, :tail => false)).search
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
nil
|
|
221
|
+
end
|
|
163
222
|
end
|
|
164
223
|
end
|
data/papertrail.gemspec
CHANGED
|
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
|
14
14
|
## the sub! line in the Rakefile
|
|
15
15
|
s.name = 'papertrail'
|
|
16
|
-
s.version = '0.9.
|
|
17
|
-
s.date = '
|
|
16
|
+
s.version = '0.9.12'
|
|
17
|
+
s.date = '2015-01-23'
|
|
18
18
|
s.rubyforge_project = 'papertrail'
|
|
19
19
|
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
metadata
CHANGED
|
@@ -1,56 +1,63 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: papertrail
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 35
|
|
5
|
+
prerelease:
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 9
|
|
9
|
+
- 12
|
|
10
|
+
version: 0.9.12
|
|
5
11
|
platform: ruby
|
|
6
|
-
authors:
|
|
12
|
+
authors:
|
|
7
13
|
- Papertrail
|
|
8
14
|
autorequire:
|
|
9
15
|
bindir: bin
|
|
10
16
|
cert_chain: []
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
|
|
18
|
+
date: 2015-01-23 00:00:00 Z
|
|
19
|
+
dependencies:
|
|
20
|
+
- !ruby/object:Gem::Dependency
|
|
14
21
|
name: chronic
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
-
type: :runtime
|
|
21
22
|
prerelease: false
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
24
|
+
none: false
|
|
25
|
+
requirements:
|
|
24
26
|
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
hash: 3
|
|
29
|
+
segments:
|
|
30
|
+
- 0
|
|
31
|
+
version: "0"
|
|
32
|
+
type: :runtime
|
|
33
|
+
version_requirements: *id001
|
|
34
|
+
- !ruby/object:Gem::Dependency
|
|
28
35
|
name: rake
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
36
|
prerelease: false
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
38
|
+
none: false
|
|
39
|
+
requirements:
|
|
38
40
|
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
hash: 3
|
|
43
|
+
segments:
|
|
44
|
+
- 0
|
|
45
|
+
version: "0"
|
|
46
|
+
type: :development
|
|
47
|
+
version_requirements: *id002
|
|
48
|
+
description: Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).
|
|
44
49
|
email: troy@sevenscale.com
|
|
45
|
-
executables:
|
|
50
|
+
executables:
|
|
46
51
|
- papertrail
|
|
47
52
|
- papertrail-add-system
|
|
48
53
|
- papertrail-remove-system
|
|
49
54
|
- papertrail-add-group
|
|
50
55
|
- papertrail-join-group
|
|
51
56
|
extensions: []
|
|
57
|
+
|
|
52
58
|
extra_rdoc_files: []
|
|
53
|
-
|
|
59
|
+
|
|
60
|
+
files:
|
|
54
61
|
- Gemfile
|
|
55
62
|
- LICENSE
|
|
56
63
|
- README.md
|
|
@@ -77,26 +84,36 @@ files:
|
|
|
77
84
|
- papertrail.gemspec
|
|
78
85
|
homepage: http://github.com/papertrail/papertrail-cli
|
|
79
86
|
licenses: []
|
|
80
|
-
|
|
87
|
+
|
|
81
88
|
post_install_message:
|
|
82
|
-
rdoc_options:
|
|
83
|
-
-
|
|
84
|
-
require_paths:
|
|
89
|
+
rdoc_options:
|
|
90
|
+
- --charset=UTF-8
|
|
91
|
+
require_paths:
|
|
85
92
|
- lib
|
|
86
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
|
-
|
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
|
+
none: false
|
|
95
|
+
requirements:
|
|
88
96
|
- - ">="
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
hash: 3
|
|
99
|
+
segments:
|
|
100
|
+
- 0
|
|
101
|
+
version: "0"
|
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
|
+
none: false
|
|
104
|
+
requirements:
|
|
93
105
|
- - ">="
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
|
|
106
|
+
- !ruby/object:Gem::Version
|
|
107
|
+
hash: 3
|
|
108
|
+
segments:
|
|
109
|
+
- 0
|
|
110
|
+
version: "0"
|
|
96
111
|
requirements: []
|
|
112
|
+
|
|
97
113
|
rubyforge_project: papertrail
|
|
98
|
-
rubygems_version:
|
|
114
|
+
rubygems_version: 1.8.24
|
|
99
115
|
signing_key:
|
|
100
116
|
specification_version: 2
|
|
101
117
|
summary: Command-line client for Papertrail hosted log management service.
|
|
102
118
|
test_files: []
|
|
119
|
+
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA1:
|
|
3
|
-
metadata.gz: 359b1f7ba488f1336a5b1cd0852db34ef1035d5e
|
|
4
|
-
data.tar.gz: 4dbe878508c443ac2f388460077eacf20a2ff333
|
|
5
|
-
SHA512:
|
|
6
|
-
metadata.gz: e5a3119406c02b20d8e1f9f8ef214ed426a55e2c4586eee94fe2c852c12760eddb8d7f95061a1876980013a7da163554789cf49f99c9ebb9523d291661b8ee6e
|
|
7
|
-
data.tar.gz: 5959953cd70c99729ee1e496019a587d8956440eedd009e291bb07176c25b70c99fbc4c39a949b1af103dd14bfb598d717cf0201d2ddf9ff7c1e3a6b26798c52
|