lib/log_stats.rb in log_stats-0.4.6 vs lib/log_stats.rb in log_stats-0.4.7
- old
+ new
@@ -9,23 +9,31 @@
require "log_stats/requests/text_output"
require "time"
module LogStats
def self.run(log_data, config)
- data = get_data(log_data, config)
+ stats = get_stats(log_data, config)
if config[:output_format] == "text" && request_config = config[:events][:requests]
- Requests::TextOutput.print(data[:requests], request_config)
+ Requests::TextOutput.print(stats[:requests], request_config)
end
if config[:output_format] == "json"
- puts JSON.pretty_generate(data)
+ puts JSON.pretty_generate(stats)
end
- data
+ stats
end
- def self.get_data(log_data, config)
- events = Logger.elapsed(config, "\nParsing #{log_data.length} log lines") do
+ def self.get_stats(log_data, config)
+ events = get_events(log_data, config)
+ process_events(events, config)
+ end
+
+ def self.get_events(log_data, config)
+ Logger.elapsed(config, "\nParsing #{log_data.length} log lines") do
LineParser.parse(log_data, config)
end
+ end
+
+ def self.process_events(events, config)
if config[:start_time] || config[:end_time]
events = Logger.elapsed(config, "\nFiltering by start_time/end_time") do
events.keys.reduce({}) do |acc, key|
acc[key] = events[key].select do |event|
event_time = Time.parse(event[:time])