logging improvement
authorChristian Thaeter <ct@pipapo.org>
Thu, 11 Oct 2007 07:51:16 +0000 (09:51 +0200)
committerChristian Thaeter <ct@pipapo.org>
Thu, 11 Oct 2007 07:51:16 +0000 (09:51 +0200)
src/main.c
src/rxpd.c

index d884fdf..ed0098b 100644 (file)
@@ -74,8 +74,13 @@ int
 main (int argc, char** argv)
 {
   struct rxpd_base* rxpd;
+
+  openlog (PACKAGE_NAME, LOG_PID, LOG_DAEMON);
+
   rxpd = rxpd_init (event_init ());
 
+  rxpd_log (rxpd, LOG_NOTICE, PACKAGE_STRING" starting up\n");
+
   // parse commandline args
   opterr = 0;
 
@@ -197,7 +202,7 @@ main (int argc, char** argv)
   // eventloop
   event_dispatch ();
 
-  //
+  rxpd_log (rxpd, LOG_NOTICE, PACKAGE_STRING" exited\n");
   rxpd_destroy ();
-  printf ("OK\n");
+  return EXIT_SUCCESS;
 }
index 907a05d..6fd52c8 100644 (file)
@@ -44,6 +44,7 @@ rxpd_init (struct event_base* eventbase)
   psplay_init_root (&global_base.files, rxpd_file_cmp, rxpd_file_delete);
   llist_init (&global_base.sockets);
 
+  rxpd_log (&global_base, LOG_DEBUG, PACKAGE_NAME" initialized\n");
   return &global_base;
 }
 
@@ -70,7 +71,7 @@ rxpd_log (struct rxpd_base* self, int level, const char* fmt, ...)
   va_start (ap, fmt);
   if (level <= (self?self->verbosity:LOG_DEBUG))
     {
-      if (self->daemonize)
+      if (!self || self->daemonize)
         vsyslog (level, fmt, ap);
       vfprintf (stderr, fmt, ap);
     }
@@ -175,7 +176,10 @@ rxpd_file_new (struct rxpd_base* base, const char* filename)
   if (!filename ||
       strcspn(filename, RXPD_FILE_ILG_CHARS) != strlen (filename) ||
       strlen (filename) + strlen (base->basedir) > 4095)
-    return NULL;
+    {
+      rxpd_log (base, LOG_ERR, "illegal filename: '%s'\n", filename?filename:"");
+      return NULL;
+    }
 
   strcpy (buf, base->basedir);
   strcat (buf, filename);
@@ -193,6 +197,8 @@ rxpd_file_new (struct rxpd_base* base, const char* filename)
   llist_init (&self->rules);
 
   psplay_insert (&base->files, &self->node);
+
+  rxpd_log (base, LOG_INFO, "new file: '%s'\n", filename);
   return self;
 }
 
@@ -330,6 +336,8 @@ rxpd_socket_new_tcp4 (struct rxpd_base* base, const char* addr, unsigned short p
 
   event_set (&self->ev, self->fd, EV_READ, rxpd_socket_accept, self);
   llist_insert_tail (&base->sockets, &self->node);
+
+  rxpd_log (base, LOG_INFO, "Listening on tcp4:%d\n", port);
   return self;
 }
 
@@ -497,8 +505,6 @@ rxpd_connection_new (struct rxpd_base* base, int fd)
   //if (setsockopt (self->fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)
   //  abort ();
 
-  // TODO
-  rxpd_log (base, LOG_INFO, "incoming connection\n");
 
 
   self->base = base;
@@ -510,6 +516,9 @@ rxpd_connection_new (struct rxpd_base* base, int fd)
   rxpd_buffer_init (&self->out, self);
   
   event_set (&self->ev, self->fd, EV_READ, rxpd_connection_parse_cmd, self);
+
+  // TODO more info
+  rxpd_log (base, LOG_INFO, "incoming connection\n");
   return self;
 }