stevbutt has asked for the wisdom of the Perl Monks concerning the following question:
I have been trying to deal with some syslog files to store them in a DB but the format has just been too variable so I had another idea how to deal with them
My lines look like the following
May 2 04:06:15 lon-pop.mail.mydom.com pop3login: LOGOUT, user=gonenow, ip=[::ffff:127.0.0.1], top=0, retr=0, rcvd=24, sent=5560, time=1The first three parts are pretty standard i.e. datetime( though with no year ) sysloghost, progname then the very variable message.
What I would like to do is convert this to a csv line as follows where its broken into at least four parts but if the string user=gonenow appears then add gonenow ( or whatever the users name was ) as an extra field, same for ip=
02/05/2012 04:06:15,lon-pop.mail.mydom.com,pop3login,"LOGOUT, user=gonenow, ip=[::ffff:127.0.0.1], top=0, retr=0, rcvd=24, sent=5560, time=1",gonenow,::ffff:127.0.0.1I dont mind either way if I end up with empty fields or no fields at the end i.e. ,, or it just ends after the end quote of the message, but I have been banging my head trying to figure this for a few days
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Syslog files revisited
by johngg (Canon) on Aug 02, 2012 at 22:38 UTC | |
by stevbutt (Novice) on Aug 02, 2012 at 23:15 UTC | |
by johngg (Canon) on Aug 03, 2012 at 09:11 UTC | |
by stevbutt (Novice) on Aug 03, 2012 at 16:09 UTC | |
by stevbutt (Novice) on Aug 03, 2012 at 16:18 UTC | |
by stevbutt (Novice) on Aug 10, 2012 at 13:51 UTC | |
by johngg (Canon) on Aug 10, 2012 at 19:06 UTC |