This is a follow on to Jonathan Marks awk script published 1 May 2001. I've just started down the path to enlightenment (or getting up to speed on syslog-ng) with respect to implementing on solaris. A couple of notes in relation to your awk script. 1. I believe the error you are getting is due to the fact you were probably using the original awk variant. "close()" is only applicable for nawk and gawk. Which make sense as Balazs Scheidler had luck with this on Linux, which if I remember correctly awk is a link to gawk. 2. Conversely I couldn't get the script to work with the file as an arguement but only if I fed it to the script. Go figure? Thanks for taking the time to write this script. I think it will help in providing me a starting place to figure this critter out.
On 4 May 2001, Jon Marks j-marks@uiuc.edu spake thusly:
Hi,
I've tried out the copy of the awk script syslog2ng incorporated into the development branch contrib directory-- but it won't run. It's a parse error that only seems to crop up when awk is fed this program on its stdin, but not as a command line argument. I'm still not sure why it doesn't work-- what about its parsing would change using -f? Any seasoned awk programmers out there want to help out? I'm grateful for any advice! It's always the same syntactic construct that causes the error:
BEGIN { # Handle the various platforms- determine proper log device "/bin/uname -s" | getline sysname; # <-- ERROR HERE!! close("/bin/uname -s");