/[pxelator]/lib/PXElator/syslogd.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/syslogd.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 247 by dpavlin, Tue Aug 18 08:57:47 2009 UTC revision 482 by dpavlin, Sat Jan 23 18:31:14 2010 UTC
# Line 5  use strict; Line 5  use strict;
5    
6  use IO::Socket;  use IO::Socket;
7  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
8  use CouchDB;  use store;
9    use File::Slurp;
10    
11  use server;  use server;
12    
# Line 48  sub message { Line 49  sub message {
49                          }                          }
50                  }                  }
51    
52                    $log->{tag} =~ s{^/.+/([^/]+)$}{$1};
53    
54                  if ( $log->{tag} =~ m{CRON}i && $buf =~ m{^\((\w+)\) (.+) \((.+)\)$} ) {                  if ( $log->{tag} =~ m{CRON}i && $buf =~ m{^\((\w+)\) (.+) \((.+)\)$} ) {
55                          $log->{cron} = {                          $log->{cron} = {
56                                  user => $1,                                  user => $1,
# Line 64  sub message { Line 67  sub message {
67          }          }
68    
69          warn "log ",dump( $log );          warn "log ",dump( $log );
70          CouchDB::audit( 'syslog', $log );          store::audit( $log->{tag}, $log );
71  }  }
72    
73  sub start {  sub start {
# Line 75  sub start { Line 78  sub start {
78                  ReuseAddr => 1,                  ReuseAddr => 1,
79          ) || die "can't listen to $port: $!";          ) || die "can't listen to $port: $!";
80    
81          CouchDB::audit('start', { port => $port });          store::audit('start', { port => $port });
82    
83          while(1) {          while(1) {
84                  message($sock);                  message($sock);
# Line 83  sub start { Line 86  sub start {
86          }          }
87  }  }
88    
89    sub install_local {
90            my $rsyslog = '/etc/rsyslog.d';
91            return unless -d $rsyslog;
92            $rsyslog .= '/pxelator.conf';
93            warn "# redirect local syslog to pxelator using $rsyslog";
94            write_file $rsyslog, "*.*\t\@$server::ip\n";
95            system "( /etc/init.d/rsyslog stop ; sleep 2 ; /etc/init.d/rsyslog start ; rm $rsyslog ) &";
96    }
97    
98  1;  1;

Legend:
Removed from v.247  
changed lines
  Added in v.482

  ViewVC Help
Powered by ViewVC 1.1.26