__progname is lsb compliant, I suppose. Will check once and get back, in which case we can use that to print the process name. Mathi.
>-----Original Message----- >From: Mathivanan Naickan Palanivelu >Sent: Friday, September 05, 2014 3:54 PM >To: Venkata Mahesh Alla >Cc: [email protected]; [email protected] >Subject: Re: [devel] [PATCH 1 of 4] mds: change mds logging prefix readability >[#520] V2 > >Good first start. >Ack, after addressing the comments inlined as [Mathi] in the attached >patches. > >Mathi. > >>-----Original Message----- >>From: Nagendra Kumar >>Sent: Monday, August 18, 2014 4:52 PM >>To: Mathivanan Naickan Palanivelu; [email protected]; Ramesh Babu >>Betham >>Cc: [email protected] >>Subject: [PATCH 1 of 4] mds: change mds logging prefix readability >>[#520] V2 >> >> osaf/libs/core/mds/mds_log.c | 57 >>+++++++++++++++++++++++++++++++----------- >> osaf/libs/core/mds/mds_main.c | 2 +- >> 2 files changed, 43 insertions(+), 16 deletions(-) >> >> >>1) No function change, only Changed the log prefix : >> >> Previously: <Date> <tipcid/pid> >> <log category> >>|<MDS_MODULE_NAME>: >> >>----------------------------------------------------------------------- >>--------------------- >>----------------------------------- >> Example : Nov 22 11:30:33.409534 <3155214320> NOTIFY |MDTM: >> >> Now Changed to: <Date> <processname[pid] <log category> >><MDS_MODULE_NAME>: >> >>----------------------------------------------------------------------- >>--------------------- >>-------------------------------------- >> Example : Aug 14 9:52:29.008845 osafimmd[2807] NOTIFY |MDTM: >> >>2) No function change, only Changed BEGIN MDS LOGGIN header from to >> >> Previously: Nov 22 11:23:21.567504 <5049> NOTIFY |BEGIN MDS >>LOGGING| PID=5049|ARCH=0|64bit=0 >> Now Changed to: Aug 14 9:52:26.068220 osafamfd[2871] NOTIFY >|BEGIN >>MDS LOGGING| PID=[osafamfd[2871]] | ARCHW=9|64bit=1 >> >>diff --git a/osaf/libs/core/mds/mds_log.c >>b/osaf/libs/core/mds/mds_log.c >>--- a/osaf/libs/core/mds/mds_log.c >>+++ b/osaf/libs/core/mds/mds_log.c >>@@ -25,11 +25,41 @@ >> #include "mds_log.h" >> #include "mds_dt2c.h" /* Include for arch-word definitions */ >> >>-static char log_line_prefix[40]; >> static char *lf = NULL; >> >> static void log_mds(const char *str); >>+static char process_name[255]; >> >>+/***************************************************** >>+ Function NAME: get_process_name() >>+ Returns : <process_name>[<pid> or <tipc_port_ref>] >>+*****************************************************/ >>+void get_process_name(char *process_name) { >>+ char name[1024]; >>+ uint32_t process_id = getpid(); >>+ char *token; >>+ >>+ sprintf(name, "/proc/%d/cmdline", process_id); >>+ FILE* f = fopen(name,"r"); >>+ if(f){ >>+ size_t size; >>+ size = fread(name, sizeof(char), 1024, f); >>+ if(size>0){ >>+ if('\n'==name[size-1]) >>+ name[size-1]='\0'; >>+ } >>+ fclose(f); >>+ } >>+ token = strtok(name, "/"); >>+ while( token != NULL ) >>+ { >>+ strcpy(name,token); >>+ token = strtok(NULL, "/"); >>+ } >>+ sprintf(process_name, "%s[%d]", name, process_id); >>+ return; >>+} >> >>/********************************************************* >* >>********************* >> * Funtion Name : mds_log_init >> * >>@@ -44,13 +74,10 @@ static char mds_log_fname[MAX_MDS_FNAME_ >uint32_t >>mds_log_init(char *log_file_name, char *line_prefix) { >> FILE *fh; >>- uint32_t process_id = 0; >>- >>- process_id = (uint32_t)getpid(); >>+ memset(process_name, 0, 255); >>+ get_process_name(process_name); >> >> /* Copy the log-line-prefix */ >>- strncpy(log_line_prefix, line_prefix, sizeof(log_line_prefix) - 1); >>- log_line_prefix[sizeof(log_line_prefix) - 1] = 0; /* Terminate >>string */ >> >> if (lf != NULL) >> return NCSCC_RC_FAILURE; >>@@ -64,8 +91,8 @@ uint32_t mds_log_init(char *log_file_nam >> >> if ((fh = fopen(lf, "a+")) != NULL) { >> fclose(fh); >>- log_mds_notify("BEGIN MDS LOGGING| >>PID=%d|ARCHW=%x|64bit=%ld\n", >>- process_id, MDS_SELF_ARCHWORD, >>(long)MDS_WORD_SIZE_TYPE); >>+ log_mds_notify("BEGIN MDS LOGGING| PID=[%s] | >>ARCHW=%x|64bit=%ld\n", >>+ process_name, MDS_SELF_ARCHWORD, >>(long)MDS_WORD_SIZE_TYPE); >> } >> >> return NCSCC_RC_SUCCESS; >>@@ -85,7 +112,7 @@ void log_mds_critical(char *fmt, ...) >> int i; >> va_list ap; >> >>- i = snprintf(str, sizeof(str), "CRITICAL |"); >>+ i = snprintf(str, sizeof(str), "%s CRITICAL |", process_name); >> va_start(ap, fmt); >> vsnprintf(str + i, sizeof(str) - i, fmt, ap); >> va_end(ap); >>@@ -106,7 +133,7 @@ void log_mds_err(char *fmt, ...) >> int i; >> va_list ap; >> >>- i = snprintf(str, sizeof(str), "ERR |"); >>+ i = snprintf(str, sizeof(str), "%s ERR |", process_name); >> va_start(ap, fmt); >> vsnprintf(str + i, sizeof(str) - i, fmt, ap); >> va_end(ap); >>@@ -127,7 +154,7 @@ void log_mds_notify(char *fmt, ...) >> int i; >> va_list ap; >> >>- i = snprintf(str, sizeof(str), "NOTIFY |"); >>+ i = snprintf(str, sizeof(str), "%s NOTIFY |", process_name); >> va_start(ap, fmt); >> vsnprintf(str + i, sizeof(str) - i, fmt, ap); >> va_end(ap); >>@@ -148,7 +175,7 @@ void log_mds_info(char *fmt, ...) >> int i; >> va_list ap; >> >>- i = snprintf(str, sizeof(str), "INFO |"); >>+ i = snprintf(str, sizeof(str), "%s INFO |", process_name); >> va_start(ap, fmt); >> vsnprintf(str + i, sizeof(str) - i, fmt, ap); >> va_end(ap); >>@@ -170,7 +197,7 @@ void log_mds_dbg(char *fmt, ...) >> int i; >> va_list ap; >> >>- i = snprintf(str, sizeof(str), "DBG |"); >>+ i = snprintf(str, sizeof(str), "%s DBG |", process_name); >> va_start(ap, fmt); >> vsnprintf(str + i, sizeof(str) - i, fmt, ap); >> va_end(ap); >>@@ -202,8 +229,8 @@ static void log_mds(const char *str) >> osafassert(tstamp_data); >> >> strftime(asc_tod, sizeof(asc_tod), "%b %e %k:%M:%S", >tstamp_data); >>- i = snprintf(log_string, sizeof(log_string), "%s.%06ld %s %s", >>- asc_tod, tv.tv_usec, log_line_prefix, str); >>+ i = snprintf(log_string, sizeof(log_string), "%s.%06ld %s", >>+ asc_tod, tv.tv_usec, str); >> >> if (i >= sizeof(log_string)) { >> i = sizeof(log_string); >>diff --git a/osaf/libs/core/mds/mds_main.c >>b/osaf/libs/core/mds/mds_main.c >>--- a/osaf/libs/core/mds/mds_main.c >>+++ b/osaf/libs/core/mds/mds_main.c >>@@ -413,7 +413,7 @@ uint32_t mds_lib_req(NCS_LIB_REQ_INFO *r >> { >> char buff[50], pref[50]; >> snprintf(buff, sizeof(buff), PKGLOGDIR "/mds.log"); >>- snprintf(pref, sizeof(pref), "<%u>", mds_tipc_ref); >>+ memset(pref, 0 ,50); >> mds_log_init(buff, pref); >> } >> ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
