From 87a9bdcb0fda85461f9992519f4239645c8b2826 Mon Sep 17 00:00:00 2001 From: Sebastian Hammer Date: Fri, 31 Mar 1995 10:16:51 +0000 Subject: [PATCH] Fixed logging. --- server/statserv.c | 29 +++++++++++++++++++---------- util/log.c | 16 +++++++++++----- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/server/statserv.c b/server/statserv.c index 5f32259..b97eb39 100644 --- a/server/statserv.c +++ b/server/statserv.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: statserv.c,v $ - * Revision 1.14 1995-03-31 09:18:58 quinn + * Revision 1.15 1995-03-31 10:16:51 quinn + * Fixed logging. + * + * Revision 1.14 1995/03/31 09:18:58 quinn * Added logging. * * Revision 1.13 1995/03/30 16:08:39 quinn @@ -74,8 +77,9 @@ #include #include -static char *me = ""; +static char *me = "statserver"; static int dynamic = 1; /* fork on incoming connection */ +static int loglevel = LOG_DEFAULT_LEVEL; #define DEFAULT_LISTENER "tcp:localhost:9999" @@ -111,8 +115,12 @@ static void listener(IOCHAN h, int event) } else if (res == 0) /* child */ { + char nbuf[100]; + close(hand[0]); child = 1; + sprintf(nbuf, "%s(%d)", me, getpid()); + log_init(loglevel, nbuf, 0); } else /* parent */ { @@ -143,6 +151,7 @@ static void listener(IOCHAN h, int event) } else if (res == 1) return; + logf(LOG_DEBUG, "listen ok"); iochan_setevent(h, EVENT_OUTPUT); iochan_setflags(h, EVENT_OUTPUT | EVENT_EXCEPT); /* set up for acpt */ } @@ -158,6 +167,7 @@ static void listener(IOCHAN h, int event) iochan_setflags(h, EVENT_INPUT | EVENT_EXCEPT); /* reset listener */ return; } + logf(LOG_DEBUG, "accept ok"); if (dynamic) { IOCHAN pp; @@ -187,6 +197,7 @@ static void listener(IOCHAN h, int event) exit(1); } iochan_setdata(new_chan, newas); + logf(LOG_LOG, "accepted connection"); } else { @@ -206,9 +217,6 @@ static void add_listener(char *where, int what) void *ap; IOCHAN lst; - logf(LOG_LOG, "Adding %s %s listener on %s", - dynamic ? "dynamic" : "static", - what == PROTO_SR ? "SR" : "Z3950", where); if (!where || sscanf(where, "%[^:]:%s", mode, addr) != 2) { fprintf(stderr, "%s: Address format: ('tcp'|'osi')':'
.\n", @@ -240,21 +248,23 @@ static void add_listener(char *where, int what) fprintf(stderr, "You must specify either 'osi:' or 'tcp:'.\n"); exit(1); } + logf(LOG_LOG, "Adding %s %s listener on %s", + dynamic ? "dynamic" : "static", + what == PROTO_SR ? "SR" : "Z3950", where); if (!(l = cs_create(type, 0, what))) { - fprintf(stderr, "Failed to create listener\n"); + logf(LOG_FATAL|LOG_ERRNO, "Failed to create listener"); exit(1); } if (cs_bind(l, ap, CS_SERVER) < 0) { - fprintf(stderr, "Failed to bind.\n"); - logf(LOG_FATAL|LOG_ERRNO, where); + logf(LOG_FATAL|LOG_ERRNO, "Failed to bind to %s", where); exit(1); } if (!(lst = iochan_create(cs_fileno(l), listener, EVENT_INPUT | EVENT_EXCEPT))) { - logf(LOG_FATAL, "Failed to create IOCHAN-type\n"); + logf(LOG_FATAL|LOG_ERRNO, "Failed to create IOCHAN-type"); exit(1); } iochan_setdata(lst, l); @@ -272,7 +282,6 @@ int statserv_main(int argc, char **argv) char *arg; int protocol = CS_Z3950; char *logfile = 0; - int loglevel = LOG_DEFAULT_LEVEL; me = argv[0]; while ((ret = options("szSl:v:", argv, argc, &arg)) != -2) diff --git a/util/log.c b/util/log.c index 4793f61..318adbd 100644 --- a/util/log.c +++ b/util/log.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: log.c,v $ - * Revision 1.1 1995-03-30 10:26:53 quinn + * Revision 1.2 1995-03-31 10:16:55 quinn + * Fixed logging. + * + * Revision 1.1 1995/03/30 10:26:53 quinn * Logging system * * Revision 1.9 1994/12/12 12:09:02 quinn @@ -57,7 +60,7 @@ static struct { { LOG_DEBUG, "debug"}, { LOG_WARN, "warn" }, { LOG_LOG, "log" }, - { LOG_ERRNO, "errno"}, + { LOG_ERRNO, ""}, { LOG_ALL, "all" }, { 0, "none" }, { 0, NULL } @@ -79,20 +82,23 @@ void logf(int level, const char *fmt, ...) { va_list ap; char buf[4096], flags[1024]; - int i; + int i, p_error = 0; if (!(level & l_level)) return; + if (level & LOG_ERRNO) + p_error = 1; *flags = '\0'; for (i = 0; level && mask_names[i].name; i++) if (mask_names[i].mask & level) { - sprintf(flags + strlen(flags), "[%s]", mask_names[i].name); + if (*mask_names[i].name) + sprintf(flags + strlen(flags), "[%s]", mask_names[i].name); level -= mask_names[i].mask; } va_start(ap, fmt); vsprintf(buf, fmt, ap); - if (level & LOG_ERRNO) + if (p_error) sprintf(buf + strlen(buf), " [%s]", strerror(errno)); fprintf(l_file, "%s: %s %s\n", l_prefix, flags, buf); fflush(l_file); -- 1.7.10.4