[syslog-ng]Match macro in filename?

Nate Campi syslog-ng@lists.balabit.hu
Thu, 14 Apr 2005 14:31:06 -0700


On Thu, Apr 14, 2005 at 02:23:15PM -0700, Vaibhav Goel wrote:
> Thanks Nate.
> 
> I am using (trying to) an alternate approach now...I am going to write a
> perl script that gets everything from STDIN and parses the log data,
> does some regexp matching and writes out the logs based on that....check
> this simple script (which does not wanna work):
> 
> #!/usr/bin/perl -w
> 
> my $input = <STDIN> ;
> if ($input =~ /xyz/)
> {
>    $var = "xyz.log";
>    open(LOG, ">>/tmp/$var");
>    print LOG "$input";
>    close(LOG);
> }
> 
> This does not seem to want to work using syslog-ng (it works fine from
> the commandline though),...any ideas anyone?

http://www.campin.net/syslog-ng/faq.html#external_program

Your perl script needs to keep reading STDIN continuously. The perl
script referenced in the thread I linked to shows how easy perl makes
this: http://www.campin.net/perl-mail.txt - STDIN is already contained
in $_ when you do "#!/usr/bin/perl -n".
-- 
Nate

"Internet is so big, so powerful and pointless that for some people it
is a complete substitute for life." - Brown, Andrew