From: Sebastian Hammer Date: Fri, 31 Mar 1995 09:18:55 +0000 (+0000) Subject: Added logging. X-Git-Tag: YAZ.1.8~1077 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=c7fa0e1f18e00b58b65b39b3c36cb68930e3838c Added logging. --- diff --git a/server/seshigh.c b/server/seshigh.c index 02bdd79..436de77 100644 --- a/server/seshigh.c +++ b/server/seshigh.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: seshigh.c,v $ - * Revision 1.15 1995-03-30 14:03:23 quinn + * Revision 1.16 1995-03-31 09:18:55 quinn + * Added logging. + * + * Revision 1.15 1995/03/30 14:03:23 quinn * Added RFC1006 as separate library * * Revision 1.14 1995/03/30 12:18:17 quinn @@ -60,11 +63,11 @@ #include #include #include +#include +#include #include -#include - #define ENCODE_BUFFER_SIZE 10000 static int process_apdu(IOCHAN chan); @@ -122,7 +125,7 @@ void ir_session(IOCHAN h, int event) switch (res) { case 0: case -1: /* connection closed by peer */ - fprintf(stderr, "Closed connection\n"); + logf(LOG_LOG, "Connection closed by client"); cs_close(conn); destroy_association(assoc); iochan_destroy(h); @@ -133,7 +136,6 @@ void ir_session(IOCHAN h, int event) assoc->input_apdu_len = res; if (process_apdu(h) < 0) { - fprintf(stderr, "Operation failed\n"); cs_close(conn); destroy_association(assoc); iochan_destroy(h); @@ -147,7 +149,7 @@ void ir_session(IOCHAN h, int event) switch (res = cs_put(conn, assoc->encode_buffer, assoc->encoded_len)) { case -1: - fprintf(stderr, "Closed connection\n"); + logf(LOG_LOG, "Connection closed by client"); cs_close(conn); destroy_association(assoc); iochan_destroy(h); @@ -160,7 +162,7 @@ void ir_session(IOCHAN h, int event) } else if (event == EVENT_EXCEPT) { - fprintf(stderr, "Exception on line\n"); + logf(LOG_LOG, "Exception on line"); cs_close(conn); destroy_association(assoc); iochan_destroy(h); @@ -176,7 +178,8 @@ static int process_apdu(IOCHAN chan) odr_setbuf(assoc->decode, assoc->input_buffer, assoc->input_apdu_len); if (!z_APDU(assoc->decode, &apdu, 0)) { - odr_perror(assoc->decode, "Incoming APDU"); + logf(LOG_WARN, "ODR error: %s", + odr_errlist[odr_geterror(assoc->decode)]); return -1; } switch (apdu->which) @@ -188,7 +191,7 @@ static int process_apdu(IOCHAN chan) case Z_APDU_presentRequest: res = process_presentRequest(chan, apdu->u.presentRequest); break; default: - fprintf(stderr, "Bad APDU\n"); + logf(LOG_WARN, "Bad APDU"); return -1; } odr_reset(assoc->decode); /* release incopming APDU */ @@ -206,18 +209,18 @@ static int process_initRequest(IOCHAN client, Z_InitRequest *req) bend_initresult *binitres; Odr_bitmask options, protocolVersion; - fprintf(stderr, "Got initRequest.\n"); + logf(LOG_LOG, "Got initRequest"); if (req->implementationId) - fprintf(stderr, "Id: %s\n", req->implementationId); + logf(LOG_LOG, "Id: %s", req->implementationId); if (req->implementationName) - fprintf(stderr, "Name: %s\n", req->implementationName); + logf(LOG_LOG, "Name: %s", req->implementationName); if (req->implementationVersion) - fprintf(stderr, "Version: %s\n", req->implementationVersion); + logf(LOG_LOG, "Version: %s", req->implementationVersion); binitreq.configname = "default-config"; if (!(binitres = bend_init(&binitreq)) || binitres->errcode) { - fprintf(stderr, "Bad response from backend\n"); + logf(LOG_WARN, "Bad response from backend"); return -1; } @@ -257,11 +260,12 @@ static int process_initRequest(IOCHAN client, Z_InitRequest *req) resp.result = &result; resp.implementationId = "YAZ"; resp.implementationName = "Index Data/YAZ Generic Frontend Server"; - resp.implementationVersion = "$Revision: 1.15 $"; + resp.implementationVersion = "$Revision: 1.16 $"; resp.userInformationField = 0; if (!z_APDU(assoc->encode, &apdup, 0)) { - odr_perror(assoc->encode, "Encode initres"); + logf(LOG_FATAL, "ODR error encoding initres: %s", + odr_errlist[odr_geterror(assoc->encode)]); return -1; } odr_getbuf(assoc->encode, &assoc->encoded_len); @@ -281,7 +285,7 @@ static Z_Records *diagrec(oid_proto proto, int error, char *addinfo) bib1.class = CLASS_DIAGSET; bib1.value = VAL_BIB1; - fprintf(stderr, "Diagnostic: %d -- %s\n", error, addinfo ? addinfo : + logf(LOG_DEBUG, "Diagnostic: %d -- %s", error, addinfo ? addinfo : "NULL"); err = error; rec.which = Z_Records_NSD; @@ -304,7 +308,7 @@ static Z_NamePlusRecord *surrogatediagrec(oid_proto proto, char *dbname, bib1.class = CLASS_DIAGSET; bib1.value = VAL_BIB1; - fprintf(stderr, "SurrogateDiagnotic: %d -- %s\n", error, addinfo); + logf(LOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo); err = error; rec.databaseName = dbname; rec.which = Z_NamePlusRecord_surrogateDiagnostic; @@ -342,8 +346,8 @@ static Z_Records *pack_records(association *a, char *setname, int start, if (!(oid = odr_oiddup(a->encode, oid_getoidbyent(&recform)))) return 0; - fprintf(stderr, "Request to pack %d+%d\n", start, toget); - fprintf(stderr, "pms=%d, mrs=%d\n", a->preferredMessageSize, + logf(LOG_DEBUG, "Request to pack %d+%d", start, toget); + logf(LOG_DEBUG, "pms=%d, mrs=%d", a->preferredMessageSize, a->maximumRecordSize); for (recno = start; reclist.num_records < toget; recno++) { @@ -371,25 +375,24 @@ static Z_Records *pack_records(association *a, char *setname, int start, *pres = Z_PRES_FAILURE; return diagrec(a->proto, fres->errcode, fres->errstring); } - fprintf(stderr, " Got record, len=%d, total=%d\n", + logf(LOG_DEBUG, " Got record, len=%d, total=%d", fres->len, total_length); if (fres->len + total_length > a->preferredMessageSize) { - fprintf(stderr, " In drop-zone\n"); /* record is small enough, really */ if (fres->len <= a->preferredMessageSize) { - fprintf(stderr, " Dropped last normal-sized record\n"); + logf(LOG_DEBUG, " Dropped last normal-sized record"); *pres = Z_PRES_PARTIAL_2; break; } /* record can only be fetched by itself */ if (fres->len < a->maximumRecordSize) { - fprintf(stderr, " Record > prefmsgsz\n"); + logf(LOG_DEBUG, " Record > prefmsgsz"); if (toget > 1) { - fprintf(stderr, " Dropped it\n"); + logf(LOG_DEBUG, " Dropped it"); reclist.records[reclist.num_records] = surrogatediagrec(a->proto, fres->basename, 16, 0); reclist.num_records++; @@ -399,7 +402,7 @@ static Z_Records *pack_records(association *a, char *setname, int start, } else /* too big entirely */ { - fprintf(stderr, "Record > maxrcdsz\n"); + logf(LOG_DEBUG, "Record > maxrcdsz"); reclist.records[reclist.num_records] = surrogatediagrec(a->proto, fres->basename, 17, 0); reclist.num_records++; @@ -451,7 +454,7 @@ static int process_searchRequest(IOCHAN client, Z_SearchRequest *req) int next = 0; static int none = Z_RES_NONE; - fprintf(stderr, "Got SearchRequest.\n"); + logf(LOG_LOG, "Got SearchRequest."); apdup = &apdu; apdu.which = Z_APDU_searchResponse; apdu.u.searchResponse = &resp; @@ -546,7 +549,8 @@ static int process_searchRequest(IOCHAN client, Z_SearchRequest *req) if (!z_APDU(assoc->encode, &apdup, 0)) { - odr_perror(assoc->encode, "Encode searchres"); + logf(LOG_FATAL, "ODR error encoding searchres: %s", + odr_errlist[odr_geterror(assoc->encode)]); return -1; } odr_getbuf(assoc->encode, &assoc->encoded_len); @@ -562,7 +566,7 @@ static int process_presentRequest(IOCHAN client, Z_PresentRequest *req) association *assoc = iochan_getdata(client); int presst, next, num; - fprintf(stderr, "Got PresentRequest.\n"); + logf(LOG_LOG, "Got PresentRequest."); apdup = &apdu; apdu.which = Z_APDU_presentResponse; apdu.u.presentResponse = &resp; @@ -579,7 +583,8 @@ static int process_presentRequest(IOCHAN client, Z_PresentRequest *req) if (!z_APDU(assoc->encode, &apdup, 0)) { - odr_perror(assoc->encode, "Encode presentres"); + logf(LOG_FATAL, "ODR error encoding initres: %s", + odr_errlist[odr_geterror(assoc->encode)]); return -1; } odr_getbuf(assoc->encode, &assoc->encoded_len); diff --git a/server/statserv.c b/server/statserv.c index f5fb325..5f32259 100644 --- a/server/statserv.c +++ b/server/statserv.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: statserv.c,v $ - * Revision 1.13 1995-03-30 16:08:39 quinn + * Revision 1.14 1995-03-31 09:18:58 quinn + * Added logging. + * + * Revision 1.13 1995/03/30 16:08:39 quinn * Little mods. * * Revision 1.12 1995/03/30 13:29:02 quinn @@ -98,12 +101,12 @@ static void listener(IOCHAN h, int event) if (pipe(hand) < 0) { - perror("pipe"); + logf(LOG_FATAL|LOG_ERRNO, "pipe"); exit(1); } if ((res = fork()) < 0) { - perror("fork"); + logf(LOG_FATAL|LOG_ERRNO, "fork"); exit(1); } else if (res == 0) /* child */ @@ -122,20 +125,20 @@ static void listener(IOCHAN h, int event) if ((res = read(hand[0], dummy, 1)) < 0 && errno != EINTR) { - perror("handshake read"); + logf(LOG_FATAL|LOG_ERRNO, "handshake read"); exit(1); } else if (res >= 0) break; } - fprintf(stderr, "P: Child has taken the call\n"); + logf(LOG_DEBUG, "P: Child has taken the call"); close(hand[0]); return; } } if ((res = cs_listen(line, 0, 0)) < 0) { - fprintf(stderr, "cs_listen failed.\n"); + logf(LOG_FATAL, "cs_listen failed."); return; } else if (res == 1) @@ -151,7 +154,7 @@ static void listener(IOCHAN h, int event) if (!(new_line = cs_accept(line))) { - fprintf(stderr, "Accept failed.\n"); + logf(LOG_FATAL, "Accept failed."); iochan_setflags(h, EVENT_INPUT | EVENT_EXCEPT); /* reset listener */ return; } @@ -166,9 +169,8 @@ static void listener(IOCHAN h, int event) iochan_destroy(pp); } /* release dad */ - fprintf(stderr, "Releasing parent\n"); + logf(LOG_DEBUG, "Releasing parent"); close(hand[1]); - fprintf(stderr, "New fd is %d\n", cs_fileno(new_line)); } else iochan_setflags(h, EVENT_INPUT | EVENT_EXCEPT); /* reset listener */ @@ -176,19 +178,19 @@ static void listener(IOCHAN h, int event) if (!(new_chan = iochan_create(cs_fileno(new_line), ir_session, EVENT_INPUT))) { - fprintf(stderr, "Failed to create iochan\n"); + logf(LOG_FATAL, "Failed to create iochan"); exit(1); } if (!(newas = create_association(new_chan, new_line))) { - fprintf(stderr, "Failed to create new assoc.\n"); + logf(LOG_FATAL, "Failed to create new assoc."); exit(1); } iochan_setdata(new_chan, newas); } else { - fprintf(stderr, "Bad event on listener.\n"); + logf(LOG_FATAL, "Bad event on listener."); exit(1); } } @@ -204,7 +206,7 @@ static void add_listener(char *where, int what) void *ap; IOCHAN lst; - fprintf(stderr, "Adding %s %s listener on %s\n", + 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) @@ -246,13 +248,13 @@ static void add_listener(char *where, int what) if (cs_bind(l, ap, CS_SERVER) < 0) { fprintf(stderr, "Failed to bind.\n"); - perror(where); + logf(LOG_FATAL|LOG_ERRNO, where); exit(1); } if (!(lst = iochan_create(cs_fileno(l), listener, EVENT_INPUT | EVENT_EXCEPT))) { - fprintf(stderr, "Failed to create IOCHAN-type\n"); + logf(LOG_FATAL, "Failed to create IOCHAN-type\n"); exit(1); } iochan_setdata(lst, l); @@ -299,5 +301,6 @@ int statserv_main(int argc, char **argv) signal(SIGCHLD, catchchld); if (!listeners) add_listener(DEFAULT_LISTENER, protocol); + logf(LOG_LOG, "Entering event loop."); return event_loop(); }