From: Philipp Traeder <[EMAIL PROTECTED]>
> You're right - the problem I'm trying to solve is quite restricted -
> and I'm very thankful for this ;-) Basically, I'm trying to write an
> application that "recognizes" log file formats, so that the following
> lines are identified as several manifestations of the same log
> message:
> 
>   could not delete user 3248234
>   could not delete user 2348723
> 
> or even
> 
>   failed to connect to primary server
>   failed to connect to secondary server
> 
> What I would like to see is a count of how many "manifestations" of
> each log message are being thrown, independently of the actual data
> they might contain. Since I do not want to hardcode the log messages
> into my application, I would like to generate regexes on the fly as
> they are needed.

Well and how are you going to tell the program which messages to take 
as the same?
Do you plan to teach the app as it reads the lines? Do you want it to 
ask which group is a line that doesn't match any of the regexps so 
far and have the regexp modified on the fly to match that line as 
well?

Or what do you want to do?

IMHO it might be best to use handmade regexps, just don't have them 
built into the application, but read from a config file. That is for 
each type of logs you'd have a file with something like this:

        delete_user=^could not delete user \d+
        connect=^failed to connect to (?:primary|secondary) server
        ...

read the file, compile the regexps with qr// and have the application 
try to match them and have the messages counted in the first group 
whose regexp matches.


Do I make sense or am I babbling nonsense?

Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to