summaryrefslogtreecommitdiff
path: root/src/vyatta-conntrack-logging.c
diff options
context:
space:
mode:
authorDeepti Kulkarni <deepti@vyatta.com>2011-12-13 14:26:57 -0800
committerDeepti Kulkarni <deepti@vyatta.com>2011-12-13 14:26:57 -0800
commit135649553b958477e957155c4bae3b8a35474c3d (patch)
treeeaf59a486630243f8731a45414cc2d17986f4b28 /src/vyatta-conntrack-logging.c
parente71d1c2a5b6d95ef81f86d38884758f40b29d880 (diff)
downloadvyatta-conntrack-135649553b958477e957155c4bae3b8a35474c3d.tar.gz
vyatta-conntrack-135649553b958477e957155c4bae3b8a35474c3d.zip
Add messages to syslog on daemon start, stop or crash.
Diffstat (limited to 'src/vyatta-conntrack-logging.c')
-rw-r--r--src/vyatta-conntrack-logging.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/vyatta-conntrack-logging.c b/src/vyatta-conntrack-logging.c
index 27f426b..d31e598 100644
--- a/src/vyatta-conntrack-logging.c
+++ b/src/vyatta-conntrack-logging.c
@@ -37,21 +37,14 @@ void init_nbuffer()
return;
}
-// Function to write to syslog
-
-void sys_logger(char *message)
-{
- openlog("log-conntrack", "LOG_PID", LOG_USER);
- syslog(LOG_INFO, message);
- closelog();
-}
-
//Signal handler for SIGHUP and SIGTERM
void signal_handler(sig)
{
switch(sig) {
case SIGHUP:
- sys_logger("Stopping conntrack logging daemon");
+ openlog("log-conntrack", LOG_PID, LOG_USER);
+ syslog(LOG_ALERT,"STOPPING CONNTRACK DAEMON");
+ closelog();
int i;
for(i=0;i<pcounter;i++) {
kill(pids[i], SIGKILL);
@@ -78,6 +71,9 @@ void start_child(char *cmd, int index)
}
if (pid==0) {
pids[index]=getpid();
+ openlog("log-conntrack", LOG_PID, LOG_USER);
+ syslog(LOG_ALERT, "STARTED PROCESS: %s", cmd);
+ closelog();
ret=system(cmd);
if (WIFSIGNALED(ret) &&
(WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT)) {
@@ -107,6 +103,9 @@ void daemonize()
exit(0);
}
/* child (daemon) continues */
+ openlog("log-conntrack", LOG_PID, LOG_USER);
+ syslog(LOG_ALERT,"STARTING CONNTRACK DAEMON");
+ closelog();
setsid();
for (i=getdtablesize();i>=0;--i)
close(i);
@@ -221,7 +220,6 @@ int main(int argc, char *argv[])
}
}
// Daemonize the connlog process.
- sys_logger("Starting conntrack logging daemon");
daemonize();
// Call to init_nbuffer
@@ -237,6 +235,9 @@ int main(int argc, char *argv[])
while(dead_child=wait(&status)) {
for(i=0;i<pcounter;i++) {
if (pids[i]==dead_child) {
+ sprintf(cmd_to_run, cmds[i], nbuffer[i]);
+ openlog("log-conntrack", LOG_PID, LOG_USER);
+ syslog(LOG_ALERT, "PROCESS EXITED: %s ", cmd_to_run);
nbuffer[i] += netlink_buffer_size;
if (nbuffer[i] <= netlink_buffer_maxsize) {
sprintf(cmd_to_run, cmds[i], nbuffer[i]);
@@ -244,7 +245,8 @@ int main(int argc, char *argv[])
nbuffer[i] -= netlink_buffer_size;
sprintf(cmd_to_run, cmds[i], nbuffer[i]);
}
- sys_logger("Restarting conntrack logging process");
+ syslog(LOG_ALERT,"RESTARTING PROCESS (Increase netlink buffer to %d bytes)", nbuffer[i]);
+ closelog();
start_child(cmd_to_run,i);
}
}