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;
}
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@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);
};
-------------------------------------------------------------------------------------------------------------------------------------------------
--
James Zhu
Mobile: +86 186 8482 2818
Email: zhujian0805@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
James Zhu
Mobile: +86 186 8482 2818
Email: zhujian0805@gmail.com