From 78f6b929608ee017c82764a7beb3ab178a2c8456 Mon Sep 17 00:00:00 2001 From: Koennecke Mark Date: Thu, 14 Apr 2016 14:57:55 +0200 Subject: [PATCH] Added a -h option to sicslog querying Fixed the mongodb path in sicslogmain to point to the production server --- mongolog.c | 6 +++++- sicslogquery.c | 9 ++++++++- sicslogquery.h | 4 ++-- utils/sicslogmain.c | 5 +++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/mongolog.c b/mongolog.c index 3558a62..154c52f 100644 --- a/mongolog.c +++ b/mongolog.c @@ -182,7 +182,11 @@ static int MongoQueryAction(SConnection * pCon, SicsInterp * pSics, status = sicslogQuery(argc,argv,QueryCallback,result); if(status != 0){ error = sicslogGetError(); - SCPrintf(pCon,eError,"Error %s querying mongodb", error); + if(strstr(error,"Options") != NULL){ + SCPrintf(pCon,eValue,"%s", error); + } else { + SCPrintf(pCon,eError,"Error %s querying mongodb", error); + } } else { SCPureSockWrite(pCon,GetCharArray(result),eLog); } diff --git a/sicslogquery.c b/sicslogquery.c index 2044c4c..15eb43b 100644 --- a/sicslogquery.c +++ b/sicslogquery.c @@ -87,7 +87,7 @@ int sicslogQuery(int argc, char *argv[], ResultCallback_t func, void *userData) parse options */ optind = 1; - while((c = getopt(argc,argv,"s:l:f:t:i:e:c:")) != -1) { + while((c = getopt(argc,argv,"s:l:f:t:i:e:c:h")) != -1) { switch (c){ case 's': sub = strdup(optarg); @@ -129,6 +129,13 @@ int sicslogQuery(int argc, char *argv[], ResultCallback_t func, void *userData) case 'c': severity = sevFromText(optarg); break; + case 'h': + snprintf( + lastError,sizeof(lastError), + "Options: -s subsystem\n-l last(h,d)\n-f fromtime\n-t totime\n-i instrument\n-c severity\n%s", + "-e search-expression"); + return 1; + break; case '?': if( optopt == 's' || optopt == 'l' || optopt == 'f' || optopt == 't' || optopt == 'i' || optopt == 'e' || optopt == 'c') { diff --git a/sicslogquery.h b/sicslogquery.h index 437f6f2..987670e 100644 --- a/sicslogquery.h +++ b/sicslogquery.h @@ -25,8 +25,8 @@ int sicslogSetup(char *url, char *inst); int sicslogQuery(int argc, char *argv[], ResultCallback_t func, void *userData); /* - If sicslogQuery returned or sicslogSetup returns an error, retrieve a description - of it. Only valid right after the error inducing call. + If sicslogQuery or sicslogSetup returns an error, retrieve a description + of it. Only valid right after the error inducing call. */ char *sicslogGetError(); diff --git a/utils/sicslogmain.c b/utils/sicslogmain.c index 70e39f2..80a47bb 100644 --- a/utils/sicslogmain.c +++ b/utils/sicslogmain.c @@ -9,7 +9,7 @@ #include #include -static void formatSeverity(unsigned int severity, char *buffer, unsigned int bufferLength) +void formatSeverity(unsigned int severity, char *buffer, unsigned int bufferLength) { static const char *severityText[] = {"FATAL", "ERROR", @@ -25,6 +25,7 @@ static void formatSeverity(unsigned int severity, char *buffer, unsigned int buf } strncpy(buffer,severityText[severity-1],bufferLength); } + /*----------------------------------------------------------------------------------------*/ static void ResultPrint(const bson_t *doc, void *userData) { @@ -55,7 +56,7 @@ int main(int argc, char *argv[]) int status; char *error; - sicslogSetup("mongodb://logwriter:sinqsics@localhost:27017/?authSource=admin",NULL); + sicslogSetup("mongodb://logwriter:sinqsics@mpc1965:27017/?authSource=admin",NULL); status = sicslogQuery(argc,argv,ResultPrint,NULL); if(status != 0){ error = sicslogGetError();