30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/wrapbox/log_fetcher/papertrail.rb', line 30
def main_loop
papertrail = ::Papertrail::Cli.new
connection_options = papertrail.options.merge(@options).merge(follow: true)
connection = ::Papertrail::Connection.new(connection_options)
query_options = {}
if @options[:system]
query_options[:system_id] = connection.find_id_for_source(@options[:system])
unless query_options[:system_id]
$stderr.puts "System \"#{@options[:system]}\" not found"
end
end
if @options[:group]
query_options[:group_id] = connection.find_id_for_group(@options[:group])
unless query_options[:group_id]
$stderr.puts "Group \"#{@options[:group]}\" not found"
end
end
if @options[:search]
search = connection.find_search(@options[:search], @query_options[:group_id])
unless search
$stderr.puts "Search \"#{@options[:search]}\" not found"
end
query_options[:group_id] ||= search['group_id']
@query = search['query']
end
@query ||= ''
search_query = ::Papertrail::SearchQuery.new(connection, @query, query_options)
until @stop do
search_query.next_results_page.events.each do |event|
next if event.received_at < @started_at
papertrail.display_result(event)
end
sleep @delay
end
end
|