Method: ZabbixRubyClient::PluginBase#getlines

Defined in:
lib/zabbix-ruby-client/plugin_base.rb

#getlines(file, pattern = false) ⇒ Object



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
# File 'lib/zabbix-ruby-client/plugin_base.rb', line 40

def getlines(file, pattern=false)
  lines = []
  if File.readable? file
    File.open(file,'r') do |f|
      f.each do |l|
        line = l.strip
        if pattern
          if Regexp.new(pattern).match line
            Log.debug "File #{file}: #{line}"
            lines << line
          end
        else
           lines << line
        end
      end
    end
    Log.warn "File #{file}: pattern \"#{pattern}\" not found." unless lines.count > 0
    lines
  else
    if File.file? file
      Log.error "File not readable: #{file}"
    else
      Log.error "File not found: #{file}"
    end
    false
  end
end