mturk 2004/11/11 09:06:06 Modified: jk/native/common jk_util.c Log: Implement new __FUNCTION__ logging. Also log PID and ThreadID. This helps tracing log messages when they are comming from diferent childs/threads. Revision Changes Path 1.35 +46 -9 jakarta-tomcat-connectors/jk/native/common/jk_util.c Index: jk_util.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- jk_util.c 11 Nov 2004 09:44:29 -0000 1.34 +++ jk_util.c 11 Nov 2004 17:06:06 -0000 1.35 @@ -24,6 +24,7 @@ #include "jk_util.h" #include "jk_ajp12_worker.h" +#include "jk_mt.h" #define SYSPROPS_OF_WORKER ("sysprops") #define STDERR_OF_WORKER ("stderr") @@ -84,6 +85,17 @@ #define JK_TIME_FORMAT "[%a %b %d %H:%M:%S %Y] " #endif + +static const char *jk_level_werbs[] = { + "[" JK_LOG_TRACE_WERB "] ", + "[" JK_LOG_DEBUG_VERB "] ", + "[" JK_LOG_INFO_VERB "] ", + "[" JK_LOG_WARNING_VERB "] ", + "[" JK_LOG_ERROR_VERB "] ", + "[" JK_LOG_EMERG_VERB "] ", + NULL +}; + const char *jk_log_fmt = JK_TIME_FORMAT; static void set_time_str(char *str, int len) @@ -168,7 +180,11 @@ return JK_LOG_EMERG_LEVEL; } - return JK_LOG_DEBUG_LEVEL; + if (0 == strcasecmp(level, JK_LOG_DEBUG_VERB)) { + return JK_LOG_DEBUG_LEVEL; + } + + return JK_LOG_TRACE_LEVEL; } int jk_open_file_logger(jk_logger_t **l, const char *file, int level) @@ -245,7 +261,6 @@ f++; } -#ifdef USE_SPRINTF /* until we get a snprintf function */ #ifdef NETWARE buf = (char *)malloc(HUGE_BUFFER_SIZE); if (NULL == buf) @@ -253,15 +268,37 @@ #endif set_time_str(buf, HUGE_BUFFER_SIZE); used = strlen(buf); + +#ifdef USE_SPRINTF /* until we get a snprintf function */ if (line) - used += sprintf(&buf[used], " [%s (%d)]: ", f, line); + used += sprintf(&buf[used], "[%d:%d] ", getpid(), + JK_THREADID()); +#else + if (line) + used += snprintf(&buf[used], HUGE_BUFFER_SIZE, "[%d:%d] ", + getpid(), JK_THREADID()); +#endif + if (used < 0) { + return 0; /* [V] not sure what to return... */ + } + if (line) { + strcat(buf, jk_level_werbs[level]); + used += 8; + + if (funcname) { + strcat(buf, funcname); + strcat(buf, "::"); + used += strlen(funcname) + 2; + } + } + +#ifdef USE_SPRINTF /* until we get a snprintf function */ + if (line) + used += sprintf(&buf[used], "%s (%d): ", f, line); #else - set_time_str(buf, HUGE_BUFFER_SIZE); - used = strlen(buf); if (line) - used += - snprintf(&buf[used], HUGE_BUFFER_SIZE, " [%s (%d)]: ", f, - line); + used += snprintf(&buf[used], HUGE_BUFFER_SIZE, "%s (%d): ", + f, line); #endif if (used < 0) { return 0; /* [V] not sure what to return... */
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]