Navigation


Changeset 946:5d9229144cac in freeDiameter for include


Ignore:
Timestamp:
Feb 12, 2013, 8:38:32 PM (11 years ago)
Author:
Thomas Klausner <tk@giga.or.at>
Branch:
default
Phase:
public
Message:

Change macro so complete lines can be logged at once.
Make some macros share their format string.
Adapt users.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • include/freeDiameter/libfdproto.h

    r941 r946  
    260260
    261261
     262#define STD_TRACE_FMT_STRING "thread %s in %s@%s:%d: "
    262263/*************
    263264 The general debug macro, each call results in two lines of debug messages (change the macro for more compact output)
     
    267268#define TRACE_DEBUG(level,format,args... ) {                                                                                    \
    268269        if ( TRACE_BOOL(level) ) {                                                                                              \
    269                 char __buf[25];                                                                                                 \
    270270                const char * __thn = ((char *)pthread_getspecific(fd_log_thname) ?: "unnamed");                                 \
    271                 fd_log(level, "\t | tid:%-20s\t%s\tin %s@%s:%d\n"  \
    272                           "\t%s|%*s" format,                                                                            \
    273                                         __thn, fd_log_time(NULL, __buf, sizeof(__buf)), __PRETTY_FUNCTION__, __FILE__, __LINE__,\
    274                                         (level < FULL)?"@":" ",level, "", ## args);                                             \
     271                fd_log(level, STD_TRACE_FMT_STRING format, \
     272                                        __thn, __PRETTY_FUNCTION__, __FILE__, __LINE__, ## args);                                               \
    275273        }                                                                                                                       \
    276274}
     
    280278        if ( TRACE_BOOL(level) ) {                                                                                                      \
    281279                if (fd_g_debug_lvl > FULL) {                                                                                            \
    282                         char __buf[25];                                                                                                 \
    283280                        const char * __thn = ((char *)pthread_getspecific(fd_log_thname) ?: "unnamed");                                 \
    284                         fd_log(level, "\t | tid:%-20s\t%s\tin %s@%s:%d\n" \
    285                                   "\t%s|%*s" format,                                                                            \
    286                                                 __thn, fd_log_time(NULL, __buf, sizeof(__buf)), __PRETTY_FUNCTION__, __FILE__, __LINE__,\
    287                                                 (level < FULL)?"@":" ",level, "", ## args);                                             \
     281                        fd_log(level, STD_TRACE_FMT_STRING format,      \
     282                               __thn, __PRETTY_FUNCTION__, __FILE__, __LINE__, ## args);  \
    288283                } else {                                                                                                                \
    289284                        fd_log(level, format, ## args);           \
     
    321316#define TRACE_DEBUG_BUFFER(level, prefix, buf, bufsz, suffix ) {                                                                \
    322317        if ( TRACE_BOOL(level) ) {                                                                                              \
    323                 char __ts[25];                                                                                                  \
    324318                int __i;                                                                                                        \
    325319                size_t __sz = (size_t)(bufsz);                                                                                  \
    326320                uint8_t * __buf = (uint8_t *)(buf);                                                                             \
    327321                char * __thn = ((char *)pthread_getspecific(fd_log_thname) ?: "unnamed");                                       \
    328                 fd_log(level, "\t | tid:%-20s\t%s\tin %s@%s:%d\n"  \
    329                           "\t%s|%*s" prefix ,                                                                                   \
    330                                         __thn, fd_log_time(NULL, __ts, sizeof(__ts)), __PRETTY_FUNCTION__, __FILE__, __LINE__,  \
    331                                         (level < FULL)?"@":" ",level, "");                                                      \
     322                fd_log(level, STD_TRACE_FMT_STRING prefix,              \
     323                       __thn, __PRETTY_FUNCTION__, __FILE__, __LINE__); \
    332324                for (__i = 0; __i < __sz; __i++) {                                                                              \
    333325                        fd_log(level, "%02.2hhx", __buf[__i]);         \
     
    350342
    351343/* Dump one sockaddr Node information */
    352 #define sSA_DUMP_NODE( sa, flag ) {                             \
     344#define sSA_DUMP_NODE( buf, bufsize, sa, flag ) {                \
    353345        sSA * __sa = (sSA *)(sa);                               \
    354346        char __addrbuf[INET6_ADDRSTRLEN];                       \
     
    362354                        flag);                                  \
    363355          if (__rc)                                             \
    364                 fd_log_debug("%s", (char *)gai_strerror(__rc)); \
     356                snprintf(buf, bufsize, "%s", gai_strerror(__rc));       \
    365357          else                                                  \
    366                 fd_log_debug("%s", &__addrbuf[0]);              \
     358                snprintf(buf, bufsize, "%s", &__addrbuf[0]);       \
    367359        } else {                                                \
    368                 fd_log_debug("(NULL / ANY)");                   \
     360                snprintf(buf, bufsize, "(NULL / ANY)");             \
    369361        }                                                       \
    370362}
    371363/* Same but with the port (service) also */
    372 #define sSA_DUMP_NODE_SERV( sa, flag ) {                                \
     364#define sSA_DUMP_NODE_SERV( buf, bufsize, sa, flag ) {                  \
    373365        sSA * __sa = (sSA *)(sa);                                       \
    374366        char __addrbuf[INET6_ADDRSTRLEN];                               \
     
    383375                        flag);                                          \
    384376          if (__rc)                                                     \
    385                 fd_log_debug("%s", (char *)gai_strerror(__rc));         \
     377                snprintf(buf, bufsize, "%s", gai_strerror(__rc));  \
    386378          else                                                          \
    387                 fd_log_debug("[%s]:%s", &__addrbuf[0],&__servbuf[0]);   \
     379                snprintf(buf, bufsize, "[%s]:%s", &__addrbuf[0],&__servbuf[0]); \
    388380        } else {                                                        \
    389                 fd_log_debug("(NULL / ANY)");                           \
     381                snprintf(buf, bufsize,"(NULL / ANY)");         \
    390382        }                                                               \
    391383}
     
    394386#define TRACE_DEBUG_sSA(level, prefix, sa, flags, suffix ) {                                                                            \
    395387        if ( TRACE_BOOL(level) ) {                                                                                              \
    396                 char __buf[25];                                                                                                 \
     388                char buf[1024]; \
    397389                char * __thn = ((char *)pthread_getspecific(fd_log_thname) ?: "unnamed");                                       \
    398                 fd_log(level, "\t | tid:%-20s\t%s\tin %s@%s:%d\n"  \
    399                           "\t%s|%*s" prefix ,                                                                                   \
    400                                         __thn, fd_log_time(NULL, __buf, sizeof(__buf)), __PRETTY_FUNCTION__, __FILE__, __LINE__,\
    401                                         (level < FULL)?"@":" ",level, "");                                                      \
    402                 sSA_DUMP_NODE_SERV( sa, flags );                                                                                \
    403                 fd_log(level, suffix);                        \
     390                sSA_DUMP_NODE_SERV(buf, sizeof(buf), sa, flags );       \
     391                fd_log(level, STD_TRACE_FMT_STRING "%s%s%s",              \
     392                       __thn, __PRETTY_FUNCTION__, __FILE__, __LINE__, prefix, buf, suffix); \
    404393        }                                                                                                                       \
    405394}
Note: See TracChangeset for help on using the changeset viewer.