logporter 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,7 +45,7 @@ class LogPorter::Server::Connection < EventMachine::Connection
45
45
 
46
46
  begin
47
47
  @client_port, @client_address = Socket.unpack_sockaddr_in(get_peername)
48
- puts "New client: #{@client_address}:#{@client_port}"
48
+ @server.logger.info "New client: #{@client_address}:#{@client_port}"
49
49
  rescue => e
50
50
  p e
51
51
  end
@@ -104,8 +104,8 @@ class LogPorter::Server::Connection < EventMachine::Connection
104
104
  def stats
105
105
  @start ||= Time.now
106
106
  @count += 1
107
- if @count % 50000 == 0
108
- puts "Rate: #{@count / (Time.now - @start)}"
107
+ if (Time.now - @start) > 10
108
+ @server.logger.info "Rate: #{@count / (Time.now - @start)}"
109
109
  @start = Time.now
110
110
  @count = 0
111
111
  end
@@ -1,6 +1,7 @@
1
1
  require "logporter/namespace"
2
2
  require "logporter/server/connection"
3
3
  require "logporter/server/defaulthandler"
4
+ require "logger"
4
5
 
5
6
  class LogPorter::Server
6
7
 
@@ -23,6 +24,9 @@ class LogPorter::Server
23
24
  # This is a hash
24
25
  attr_reader :attributes
25
26
 
27
+ # The logger object
28
+ attr_accessor :logger
29
+
26
30
  # Create a new server to listen with
27
31
  # 'options' is a hash of:
28
32
  #
@@ -31,6 +35,7 @@ class LogPorter::Server
31
35
  # :wire => the wire format (:raw, :syslog)
32
36
  # :handler => the handler instance. Must respond to 'receive_event'
33
37
  def initialize(options)
38
+ @logger = Logger.new(STDOUT)
34
39
  @network = options[:net]
35
40
  @port = options.delete(:port) || 514
36
41
  @wire = options.delete(:wire) || :raw
@@ -57,25 +62,32 @@ class LogPorter::Server
57
62
  # s.start
58
63
  #
59
64
  # EventMachine.run()
60
- EventMachine.next_tick do
61
- puts "Starting #{@network}/#{@port}"
62
- begin
63
- case @network
64
- when :udp; start_udp_server
65
- when :tcp; start_tcp_server
66
- when :tls; start_tcp_server # tls is handled by tcp.
67
- else
68
- raise "Unknown network '#{@network}' expected :udp, :tcp, or :tls"
69
- end
70
- rescue => e
71
- if @handler.respond_to?(:receive_exception)
72
- @handler.receive_exception(e)
65
+ if EventMachine.reactor_running?
66
+ _start
67
+ else
68
+ EventMachine.next_tick { _start }
69
+ end
70
+ end # def start
71
+
72
+ private
73
+ def _start
74
+ @logger.info "Starting #{@network}/#{@port}"
75
+ begin
76
+ case @network
77
+ when :udp; start_udp_server
78
+ when :tcp; start_tcp_server
79
+ when :tls; start_tcp_server # tls is handled by tcp.
73
80
  else
74
- raise e
75
- end
81
+ raise "Unknown network '#{@network}' expected :udp, :tcp, or :tls"
82
+ end
83
+ rescue => e
84
+ if @handler.respond_to?(:receive_exception)
85
+ @handler.receive_exception(e, self)
86
+ else
87
+ raise e
76
88
  end
77
89
  end
78
- end # def start
90
+ end # def _start
79
91
 
80
92
  private
81
93
  def start_udp_server
@@ -93,10 +105,11 @@ class LogPorter::Server
93
105
  public
94
106
  def receive_event(event, client_addr, client_port)
95
107
  @handler.receive_event(event, self, client_addr, client_port)
96
- end
108
+ end # def receive_event
97
109
 
98
110
  public
99
111
  def stop
112
+ @logger.info "Stopping #{@network}/#{@port}"
100
113
  case @network
101
114
  when :tcp
102
115
  EventMachine::stop_server(@socket)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logporter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jordan Sissel
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-21 00:00:00 -07:00
18
+ date: 2011-04-04 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies: []
21
21