do everything once keyed on local file
[pxelator] / lib / PXElator / syslogd.pm
index a425acd..6499855 100644 (file)
@@ -5,7 +5,8 @@ use strict;
 
 use IO::Socket;
 use Data::Dump qw/dump/;
-use CouchDB;
+use store;
+use File::Slurp;
 
 use server;
 
@@ -66,7 +67,7 @@ sub message {
        }
 
        warn "log ",dump( $log );
-       CouchDB::audit( $log->{tag}, $log );
+       store::audit( $log->{tag}, $log );
 }
 
 sub start {
@@ -77,7 +78,7 @@ sub start {
                ReuseAddr => 1,
        ) || die "can't listen to $port: $!";
 
-       CouchDB::audit('start', { port => $port });
+       store::audit('start', { port => $port });
 
        while(1) {
                message($sock);
@@ -85,4 +86,13 @@ sub start {
        }
 }
 
+sub install_local {
+       my $rsyslog = '/etc/rsyslog.d';
+       return unless -d $rsyslog;
+       $rsyslog .= '/pxelator.conf';
+       warn "# redirect local syslog to pxelator using $rsyslog";
+       write_file $rsyslog, "*.*\t\@$server::ip\n";
+       system "( /etc/init.d/rsyslog stop ; sleep 2 ; /etc/init.d/rsyslog start ; rm $rsyslog ) &";
+}
+
 1;