Re: Log_Parser - Design problem

From: Date: Sat, 19 Jul 2003 02:30:19 +0000
Subject: Re: Log_Parser - Design problem
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-18410@lists.php.net to get a copy of this message
I would have thought just using regex arg would be obvious.. $parser->showMatching('IP','/^192\.168\.0\.1$/'); (positive tests) $parser->hideMatching('IP','/^127\..*/'); (negative tests) Regards Alan Tobias Schlitt wrote:
Hi all! So, it's me again. As you all should know, I started working on a package called Log_Parser. Here a short introduction (for those who don't know the package): Log_Parser should enable you to parse any logfile by taken a prepared (or selfwritten) XML-configfile for the type of log you wanna parse. Theese XML's consists of a set of regex which define tokens of a logline. So, here is my problem: I wanna implement a feature for filtering loglines in the parser. E.g. you wanna have only accesses from 192.168.0.1 from your Apache access-log. You should define a filter which says something like 'IP = "192.168.0.1"'. Here are 2 of my ideas I had for that: 1. Creating a new class which lets you define a filter and which checks the correctness of it in the parser. (e.g. $filter = new Filter("IP", LOG_PARSER_EQUALS, "192.168.0.1");) This has the disadvantage, that it would only be possible to define a single filter for each token. 2. Creating some kind of mini-"language" which should be similar to SQL-where-clauses. (e.d. "(IP = '192.168.0.1') || (IP = '127.0.0.1')"). This would be extremly cool, I think, but I got no idea for the implementation of that. I think, it must be some kind of lexer to do this. Would be cool, if anyone has another idea for realizing filters or an idea form implementing one of those variants above. Thanks for any tipp! Regards, Toby <?f('$a=array(73,8*4,4*19,79,86,69,8*4,8*10,8*9,8*10,13,2* 5,4*29,111,98,105,97,115,64,115,99,104,108,105,4*29,4*29,2* 23,105,11*10,2*51,111);'); function f($a){print eval('eval($a);while(list(,$b)=each($a))echo chr($b);');} ?>
-- Can you help out? Need Consulting Services or Know of a Job? http://www.akbkhome.com

« previous php.pear.dev (#18410) next »