Sha256: 99d148deca98592c20a2a0ada5989786c1bb723133a22f6cc9795d272d6f1b0e

Contents?: true

Size: 800 Bytes

Versions: 2

Compression:

Stored size: 800 Bytes

Contents

module AtomLog


  class Parser

    def initialize(log, lines = nil)
      @lines = lines || 10
      @log = log
    end

    def self.parse_log_line(l)
      res = {}
      line = l.split('[')[1].to_s.split(']')
      middle = line[0].to_s.split
      pid = middle.pop
      date = middle
      severity,msg = line[1].to_s.split('--')
      res[:date] = date.join(' ')
      res[:severity_id] = l.split[0].to_s.gsub(',','')
      res[:pid] = pid.to_s.gsub('#','')
      res[:severity] = severity.to_s.gsub(' ','')
      res[:msg] = msg
      res
    end

    def parse
      arr = []
      log = File::Tail::Logfile.open(@log, :return_if_eof => true, :backward => @lines)
      log.tail(@lines) do |line|
        arr << AtomLog::Parser.parse_log_line(line)
      end
      arr
    end

  end


end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
jcapote-atomlog-1.1.1 lib/parser.rb
atomlog-1.1.1 lib/parser.rb