Author: sayer
Date: 2010-05-01 17:06:11 +0200 (Sat, 01 May 2010)
New Revision: 1879
Modified:
trunk/Makefile.defs
trunk/core/log.cpp
trunk/core/log.h
Log:
per default, put
1. not the complete function signature in the log
2. the location (PID/TID/file/line...) at the beginning
see 1 -DLOG_PRETTY_FUNCTION and 2 -DLOG_LOC_DATA_ATEND in Makefile.defs
Modified: trunk/Makefile.defs
===================================================================
--- trunk/Makefile.defs 2010-05-01 14:19:18 UTC (rev 1878)
+++ trunk/Makefile.defs 2010-05-01 15:06:11 UTC (rev 1879)
@@ -21,6 +21,8 @@
# -DMAX_RTP_SESSIONS=8192 \
# -DSUPPORT_IPV6 \
# -DNO_THREADID_LOG \
+# -DLOG_PRETTY_FUNCTION \
+# -DLOG_LOC_DATA_ATEND
# compile with session thread pool support?
Modified: trunk/core/log.cpp
===================================================================
--- trunk/core/log.cpp 2010-05-01 14:19:18 UTC (rev 1878)
+++ trunk/core/log.cpp 2010-05-01 15:06:11 UTC (rev 1879)
@@ -121,16 +121,34 @@
{
static const int log2syslog_level[] = { LOG_ERR, LOG_WARNING, LOG_INFO,
LOG_DEBUG };
#ifdef _DEBUG
+
# ifndef NO_THREADID_LOG
- syslog(log2syslog_level[level], "%s: %s [%s, #%lx] [%s:%d]",
- log_level2str[level], msg, func, tid, file, line);
+# ifdef LOG_LOC_DATA_ATEND
+ syslog(log2syslog_level[level], "%s: %s [#%lx] [%s %s:%d]",
+ log_level2str[level], msg, tid, func, file, line);
+# else
+ syslog(log2syslog_level[level], "[#%lx] [%s, %s:%d] %s: %s",
+ tid, func, file, line, log_level2str[level], msg);
+# endif
# else /* NO_THREADID_LOG */
+# ifdef LOG_LOC_DATA_ATEND
syslog(log2syslog_level[level], "%s: %s [%s] [%s:%d]",
log_level2str[level], msg, func, file, line);
+# else
+ syslog(log2syslog_level[level], "[%s, %s:%d] %s: %s",
+ func, file, line, log_level2str[level], msg);
+# endif
# endif /* NO_THREADID_LOG */
+
#else /* !_DEBUG */
+# ifdef LOG_LOC_DATA_ATEND
syslog(log2syslog_level[level], "%s: %s [%s:%d]",
log_level2str[level], msg, file, line);
+# else
+ syslog(log2syslog_level[level], "[%s:%d] %s: %s",
+ file, line, log_level2str[level], msg);
+# endif
+
#endif /* !_DEBUG */
}
Modified: trunk/core/log.h
===================================================================
--- trunk/core/log.h 2010-05-01 14:19:18 UTC (rev 1878)
+++ trunk/core/log.h 2010-05-01 15:06:11 UTC (rev 1879)
@@ -57,7 +57,11 @@
((level) < L_ERR ? L_ERR : ((level) > L_DBG ? L_DBG : (level)))
#ifdef __cplusplus
-# define FUNC_NAME __PRETTY_FUNCTION__
+# ifdef PRETTY_FUNCTION_LOG
+# define FUNC_NAME __PRETTY_FUNCTION__
+# else
+# define FUNC_NAME __FUNCTION__
+#endif
#else
# define FUNC_NAME __FUNCTION__
#endif
@@ -72,12 +76,12 @@
#ifdef _DEBUG
# ifndef NO_THREADID_LOG
# define GET_TID() pthread_self()
-# define LOC_FMT " [%s, #%lx] [%u/%s:%d]"
-# define LOC_DATA FUNC_NAME, (unsigned long)tid_, pid_, __FILE__, __LINE__
+# define LOC_FMT " [#%lx/%u] [%s, %s:%d]"
+# define LOC_DATA tid_, pid_, FUNC_NAME, __FILE__, __LINE__
# else
# define GET_TID() 0
-# define LOC_FMT " [%s] [%u/%s:%d]"
-# define LOC_DATA FUNC_NAME, pid_, __FILE__, __LINE__
+# define LOC_FMT " [%u] [%s %s:%d]"
+# define LOC_DATA pid_, FUNC_NAME, __FILE__, __LINE__
# endif
#else
# define GET_TID() 0
@@ -85,25 +89,31 @@
# define LOC_DATA pid_, __FILE__, __LINE__
#endif
+#ifdef LOG_LOC_DATA_ATEND
+#define COMPLETE_LOG_FMT "%s: %s" LOC_FMT "\n", log_level2str[level_], msg_,
LOC_DATA
+#else
+#define COMPLETE_LOG_FMT LOC_FMT " %s: %s" "\n", LOC_DATA,
log_level2str[level_], msg_
+#endif
+
/* The underscores in parameter and local variable names are there to
avoid collisions. */
-#define _LOG(level__, fmt, args...) \
- do { \
- int level_ = FIX_LOG_LEVEL(level__); \
- \
- if ((level_) <= log_level) { \
- pid_t pid_ = GET_PID(); \
- pthread_t tid_ = GET_TID(); \
- char msg_[512]; \
- int n_ = snprintf(msg_, sizeof(msg_), fmt, ##args); \
- if (msg_[n_ - 1] == '\n') msg_[n_ - 1] = '\0'; \
- \
- if (log_stderr) { \
- fprintf(stderr, "%s: %s" LOC_FMT "\n", log_level2str[level_], msg_,
LOC_DATA); \
- fflush(stderr); \
- } \
+#define _LOG(level__, fmt, args...) \
+ do { \
+ int level_ = FIX_LOG_LEVEL(level__); \
+ \
+ if ((level_) <= log_level) { \
+ pid_t pid_ = GET_PID(); \
+ pthread_t tid_ = GET_TID(); \
+ char msg_[512]; \
+ int n_ = snprintf(msg_, sizeof(msg_), fmt, ##args); \
+ if (msg_[n_ - 1] == '\n') msg_[n_ - 1] = '\0'; \
+ \
+ if (log_stderr) {
\
+ fprintf(stderr, COMPLETE_LOG_FMT); \
+ fflush(stderr); \
+ }
\
run_log_hooks(level_, pid_, tid_, FUNC_NAME, __FILE__, __LINE__, msg_); \
- } \
+ } \
} while(0)
/**
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev