[syslog-ng] Issue about using perl script in Receiving messages from external applications

Jian Zhu zhujian0805 at gmail.com
Fri Aug 10 03:02:26 CEST 2012


Thanks you Evan for you quick response. I changed my script as below and
now it's working fine.

#!/usr/bin/perl

$i=0;
while(true){
        $i++;
*        #added below 2 lines to force a flush right away and after every
print
        #according to perl document: "STDOUT will typically be line
buffered if output is to the terminal and block buffered otherwise."
        #since the output is not to terminal so here it's block buffered, i
guess this is the root cause.*
        select(STDOUT);
        $| = 1;

        print STDOUT "hello $i\n";

        sleep 1;

}





On Fri, Aug 10, 2012 at 8:52 AM, Evan Rempel <erempel at uvic.ca> wrote:

>  You are probably suffering from perl's buffering. I forget the exact syntax right now but a quick google of disabling Perl auto flush should give you what you need.
>
> Jian Zhu <zhujian0805 at gmail.com> wrote:
>
>
> Hello,
>
> Could anyone please help me on this below issue?
>
> my syslog-ng.conf file look like below:
>
> The test.sh script work fine, I can see it's output in the test.sh.log
> file.
> But the test.pl doesn't work. the test.sh and test.pl have the same
> function of printing something to STDOUT.
> ------------------------------
>
> -------------------------------------------------------------------------------------------------------------------
> @version: 3.0
> #Default configuration file for syslog-ng.
> #
> # For a description of syslog-ng configuration file directives, please read
> # the syslog-ng Administrator’s guide at:
> #
> #
> http://www.balabit.com/dl/html/syslog-ng-admin-guide_en.html/bk01-toc.html
> #
> options {
> # Number of syslog lines stored in memory before being written to files
> flush_lines (0);
> log_fifo_size (2048);
> create_dirs (yes);
> perm (0640);
> dir_perm (0750);
> };
>
>
>
> source ppp { program("/root/perl/test.pl"); };
> destination ppp {
> file ("/var/log/syslog-ng/$HOST/perl.pl.log" create_dirs(yes));
> };
> log {
>         source(ppp);
>         destination(ppp);
> };
>
> source sss { program("/root/shell/test.sh"); };
> destination sss {
> file ("/var/log/syslog-ng/$HOST/test.sh.log" create_dirs(yes));
> };
> log {
>         source(sss);
>         destination(sss);
> };
>
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> --
>
> *Thanks & Best Regards*
>
> *James Zhu*
>
> *Mobile**:* *+86 18**6 8482 2818*
>
> *Email: *zhujian0805 at gmail.com
>
>
>
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation:
> http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>
>
>


-- 

*Thanks & Best Regards*

*James Zhu*

*Mobile**:* *+86 18**6 8482 2818*

*Email: *zhujian0805 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.balabit.hu/pipermail/syslog-ng/attachments/20120810/464bfb77/attachment-0001.htm 


More information about the syslog-ng mailing list