LogAn::Inc::Fileparser::Line#event_line added and modified #event_read
parent
b7d6689225
commit
7a244cd465
|
@ -30,12 +30,14 @@ module LogAn
|
||||||
@buffer, @linebuffer = Select::Buffer.new( ''), Select::Buffer.new( '')
|
@buffer, @linebuffer = Select::Buffer.new( ''), Select::Buffer.new( '')
|
||||||
end
|
end
|
||||||
|
|
||||||
def event_read str, sock
|
def event_read str, sock = nil
|
||||||
@buffer += str
|
@buffer += str
|
||||||
@buffer.each! @delimiter do |line|
|
@buffer.each! @delimiter, &method( :event_line)
|
||||||
emit line
|
end
|
||||||
seeks line.length
|
|
||||||
end
|
def event_line line
|
||||||
|
emit line
|
||||||
|
seeks line.length
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -45,15 +47,12 @@ module LogAn
|
||||||
@multiline = multiline || /^\d\d-\d\d-\d\d:/
|
@multiline = multiline || /^\d\d-\d\d-\d\d:/
|
||||||
end
|
end
|
||||||
|
|
||||||
def event_read str, sock
|
def event_line line
|
||||||
@buffer += str
|
if line =~ @multiline
|
||||||
@buffer.each! @delimiter do |line|
|
emit @linebuffer.to_s
|
||||||
if line =~ @multiline
|
seeks @linebuffer.length
|
||||||
emit @linebuffer.to_s
|
@linebuffer.replace line
|
||||||
seeks @linebuffer.length
|
else @linebuffer += line
|
||||||
@linebuffer.replace line
|
|
||||||
else @linebuffer += line
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -51,9 +51,9 @@ module LogAn::Inc
|
||||||
# : Server-Configuration. default { port: 1087 }
|
# : Server-Configuration. default { port: 1087 }
|
||||||
def initialize conf
|
def initialize conf
|
||||||
super
|
super
|
||||||
@conf = {}
|
|
||||||
|
|
||||||
# Copy config - changes possible
|
# Copy config - changes possible
|
||||||
|
@conf = {}
|
||||||
conf.each {|key, val| @conf[key]= val }
|
conf.each {|key, val| @conf[key]= val }
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
|
@ -90,13 +90,7 @@ module LogAn::Inc
|
||||||
|
|
||||||
# Select-framework
|
# Select-framework
|
||||||
@select = LogAn::Inc::Select.new
|
@select = LogAn::Inc::Select.new
|
||||||
status = lambda do
|
status # Init Status
|
||||||
@select.at Time.now+5, &status
|
|
||||||
LogAn::Logging.info :recv_lines => @logs.counter,
|
|
||||||
:connections => @serv && @serv.clients.map {|cl| cl.sock.peeraddr }
|
|
||||||
@conf[:stores].each {|key, db| db.flush!}
|
|
||||||
end
|
|
||||||
status.call
|
|
||||||
|
|
||||||
# Prepare Inc-server - create server
|
# Prepare Inc-server - create server
|
||||||
@serv = LogAn::Inc::Server.new :sock => TCPServer.new( *@conf[:server]),
|
@serv = LogAn::Inc::Server.new :sock => TCPServer.new( *@conf[:server]),
|
||||||
|
@ -112,6 +106,13 @@ module LogAn::Inc
|
||||||
raise $!
|
raise $!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def status
|
||||||
|
LogAn::Logging.info :recv_lines => @logs.counter,
|
||||||
|
:connections => @serv && @serv.clients.map {|cl| cl.sock.peeraddr }
|
||||||
|
@conf[ :stores].each {|key, db| db.flush!}
|
||||||
|
@select.at Time.now+5, &status
|
||||||
|
end
|
||||||
|
|
||||||
# Will be called at exit. Will close all opened BDB::Env
|
# Will be called at exit. Will close all opened BDB::Env
|
||||||
def at_exit
|
def at_exit
|
||||||
LogAn::Logging.info :at_exit
|
LogAn::Logging.info :at_exit
|
||||||
|
@ -121,7 +122,7 @@ module LogAn::Inc
|
||||||
|
|
||||||
# Shutdown Server cleanly. First shutdown TCPServer.
|
# Shutdown Server cleanly. First shutdown TCPServer.
|
||||||
def shutdown signal = nil
|
def shutdown signal = nil
|
||||||
LogAn::Logging.info :signal, signal, Signal[signal] if signal
|
LogAn::Logging.info :signal, signal, Signal[ signal] if signal
|
||||||
@serv.close
|
@serv.close
|
||||||
exit 0
|
exit 0
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue