Re: logging to spread with apache2?

Aditya <[email protected]> Sun, 21 Jul 2002 22:50:50 -0700
Newsgroups gmane.comp.apache.mod-log-spread.user
Message-ID <[email protected]>
Thanks, it works very nicely -- ~1.7M resident, and only a single process is
necessary for all apache children...saves on sockets too compared to mls...

Adi

On Sun, Jul 21, 2002 at 10:49:19PM -0400, George Schlossnagle wrote:
> It's not C, but it's lean and fast (and all the work is really done in 
> XS):
> 
> #!/usr/bin/perl
> 
> ######################################################################
> # Logger.pl
> #
> # Copyright (c) 2000 George Schlossnagle.  All rights reserved.
> # This program is free software, you can redistribute it and/or
> # modify it under the same terms as Perl itself.  This software
> # is provided ``as is'' and any express or implied warranties,
> # including, but not limited to, the fitness for a patricular
> # purpose are disclaimed.  Yadda yadda yadda.
> #
> ######################################################################
> 
> #use ExtUtils::testlib;
> use Spread qw(:SP :MESS :ERROR);
> use Getopt::Std;
> $| = 1;
> 
> # Read in options
> getopts('dg:hs:', \%opts);
> $debug = $opts{d};
> &usage() unless ($group = $opts{g});
> $hosttoggle = $opts{h};
> $spreaddaemon = ($opts{s}?$opts{s}:3333);
> 
> 
> # Set spread connection params
> #$hostname = `hostname`;
> chomp ($hostname = `hostname`) ;
> $args{'spread_name'} = $spreaddaemon;
> $args{'private_name'} = "$$-$hostname";
> $args{'priority'} = 0;
> $args{'group_membership'} = 1;
> 
> # Connect to daemon
> print "Trying to connect to spread...\n" if $debug;
> ($mbox, $privategroup) = Spread::connect(
>         \%args
>         );
> print "$sperrno\n" unless (defined($mbox) && $debug);
> 
> #Logging loop
> while(<STDIN>){
> chomp;
> print "MESSAGE $_\n";
> if(($ret = Spread::multicast($mbox,
>                              RELIABLE_MESS, $group, 0,
>                              ($hosttoggle?$hostname." ".$_:$_)))>0) {
>   print STDERR "Successfully multicasted $ret bytes to [$group]\n" if 
> $debug;
> } else {
>   print STDERR "Failed multicast $_ to $group: $sperrno\n" if $debug;
> }
> }
> 
> sub usage(){
>         print STDERR "Usage:  Logger -g group [-h] [-s daemon] [-d]\n";
>         exit 0;
> }
> 
> 
> 
> On Sunday, July 21, 2002, at 10:36 PM, Aditya wrote:
> 
> >It doesn't look like apache2 is supported with mod_log_spread
> >currently, however using the "reliable piped logging"
> >(http://httpd.apache.org/docs-2.0/logs.html#piped) seems like an
> >option. Does anyone have a small, simple C program (I guess I could
> >just modify flooder.c to do this...) that I can pipe the logs to in
> >Apache2?
> >
> >Thanks,
> >Adi
> >
> >
> >
> >_______________________________________________
> >mls-users mailing list
> >[email protected]
> >http://lists.backhand.org/mailman/listinfo/mls-users
> >
> >
> // George Schlossnagle
> // Principal Consultant
> // OmniTI, Inc          http://www.omniti.com
> // (c) 240.460.5234   (e) [email protected]
> // 1024D/1100A5A0  1370 F70A 9365 96C9 2F5E 56C2 B2B9 262F 1100 A5A0
>