-module(logreader).
-export([start/0]).
-compile(inline).

start()->
    Port = open_port({fd,0,1}, [eof,binary,line]),
    read(Port, element(2, re:compile("(Mar|Apr) *[0-9]+ *0(1|2):"))).

read(Port, Re)-> 
    receive 
	{Port, {data, {eol, Line}}} -> 
	    handle(Port, Line, Re),
	    read(Port, Re);
	{Port, eof} ->  
	    %erlang:display(erlang:memory(maximum)),
	    halt();
	_ -> ok
    end.


handle(Port, Bin, Re) ->
    case re:run(Bin, Re) of
	{match, _Matches} -> port_command(Port, <<Bin/binary, "\n">>);
	nomatch -> ok
    end.

