osaf/libs/core/mds/mds_log.c | 50 ++++++++++++++++++++++++++++++++++--------
osaf/libs/core/mds/mds_main.c | 1 -
2 files changed, 40 insertions(+), 11 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
@@ -29,7 +29,38 @@ static char log_line_prefix[40];
static char *lf = NULL;
static void log_mds(const char *str);
+char process_name[30];
+/*****************************************************
+ 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,9 +75,8 @@ 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();
+
+ get_process_name(process_name);
/* Copy the log-line-prefix */
strncpy(log_line_prefix, line_prefix, sizeof(log_line_prefix) - 1);
@@ -64,8 +94,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 +115,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 +136,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 +157,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 +178,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 +200,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);
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
@@ -289,7 +289,6 @@ 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);
mds_log_init(buff, pref);
}
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel