Class: Tailer::Handler

Inherits:
EM::Connection
  • Object
show all
Defined in:
lib/tailer/listener.rb

Constant Summary collapse

@@log =
Logger.new(STDERR)
@@output =
STDOUT
@@bytes =
0
@@last_status =
0
@@t_start =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHandler

Returns a new instance of Handler.



106
107
108
# File 'lib/tailer/listener.rb', line 106

def initialize()
  super
end

Class Method Details

.bytesObject



74
75
76
# File 'lib/tailer/listener.rb', line 74

def self.bytes
  @@bytes
end

.bytes=(bytes) ⇒ Object



78
79
80
# File 'lib/tailer/listener.rb', line 78

def self.bytes=(bytes)
  @@bytes = bytes
end

.last_statusObject



90
91
92
# File 'lib/tailer/listener.rb', line 90

def self.last_status 
  @@last_status
end

.last_status=(last_status) ⇒ Object



94
95
96
# File 'lib/tailer/listener.rb', line 94

def self.last_status=(last_status)
  @@last_status = last_status
end

.logObject



82
83
84
# File 'lib/tailer/listener.rb', line 82

def self.log
  @@log
end

.log=(log) ⇒ Object



86
87
88
# File 'lib/tailer/listener.rb', line 86

def self.log=(log)
  @@log=log
end

.outputObject



66
67
68
# File 'lib/tailer/listener.rb', line 66

def self.output
  @@output
end

.output=(output) ⇒ Object



70
71
72
# File 'lib/tailer/listener.rb', line 70

def self.output=(output)
  @@output = output
end

.t_startObject



98
99
100
# File 'lib/tailer/listener.rb', line 98

def self.t_start
  @@t_start
end

.t_start=(t_start) ⇒ Object



102
103
104
# File 'lib/tailer/listener.rb', line 102

def self.t_start=(t_start)
  @@t_start = t_start
end

Instance Method Details

#receive_data(data) ⇒ Object



110
111
112
113
114
115
116
117
118
# File 'lib/tailer/listener.rb', line 110

def receive_data data
  Handler.bytes = Handler.bytes + data.length
  if (Handler.bytes - Handler.last_status > 10000)
    elapsed = Time.now.to_f - Handler.t_start
    Handler.log.debug "#{Handler.bytes} bytes read; #{Handler.bytes/elapsed} B/s" 
    Handler.last_status = Handler.bytes
  end
  Handler.output.print data
end

#unbindObject



120
121
122
# File 'lib/tailer/listener.rb', line 120

def unbind
  Handler.log.debug "exit status (#{get_status.exitstatus})"
end