class Djb::Daemontools::Multilog::Collector

Attributes

directory[RW]
directory=[RW]
lines[RW]
service_dir[RW]

Public Class Methods

new(dir = "/service") click to toggle source
# File lib/djb/daemontools/multilog/collector.rb, line 12
def initialize(dir = "/service")
  @lines = 100
  @service_dir = dir
end

Public Instance Methods

collect() click to toggle source
# File lib/djb/daemontools/multilog/collector.rb, line 29
def collect
  all = logs.sort! do |a,b|
    a.time <=> b.time
  end
  # all[all.length - @lines..-1]
  lines = [@lines,all.length].min
  all[-lines..-1]
end
glob_pattern() click to toggle source
# File lib/djb/daemontools/multilog/collector.rb, line 17
def glob_pattern
  @service_dir + "/*/log/main/current"
end
logs() click to toggle source
# File lib/djb/daemontools/multilog/collector.rb, line 21
def logs
  all = Logs.new
  Dir.glob(glob_pattern).each do |file| 
    all += Logs.new.load(file,@lines)
  end
  all
end