Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 1585


Ignore:
Timestamp:
Jun 10, 2008, 3:49:24 AM (17 years ago)
Author:
landauf
Message:
  • added debug output level 6 (ultra)
  • removed debug output macros PRINT and PRINTF
  • used "(false) ? … : …" instead of "if (false) …" to ignore output with too high level because the compiler makes a static evaluation of the trinary ?: operator
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core3/src/core/Debug.h

    r1505 r1585  
    5151#define ORX_INFO            3
    5252#define ORX_DEBUG           4
    53 #define ORX_vDEBUG          5
     53#define ORX_VERBOSE         5
     54#define ORX_ULTRA           6
    5455
    5556//definitions
    56 #define ORX_PRINT_DEBUG_OUTPUT 1 // <-- fix that! should be a configurable setting
    57 
    58 #define ORX_HARD_DEBUG_LEVEL ORX_vDEBUG
    59 //#define ORX_SOFT_DEBUG_LEVEL ORX_WARNING // <-- fix that! should be a configurable setting
    60 
    61 ///////////////////////////////////////////////////
    62 /// PRINTF: prints with filename and linenumber ///
    63 ///////////////////////////////////////////////////
    64 #define PRINTFORX_NONE    PRINTF0
    65 #define PRINTFORX_ERROR   PRINTF1
    66 #define PRINTFORX_WARNING PRINTF2
    67 #define PRINTFORX_INFO    PRINTF3
    68 #define PRINTFORX_DEBUG   PRINTF4
    69 #define PRINTFORX_vDEBUG  PRINTF5
    70 
    71 #define PRINT_EXEC  printf
    72 #define COUT_EXEC(x) \
    73   orxonox::OutputHandler::getOutStream().setOutputLevel(x)
    74 
    75 #ifndef PRINTF
    76  #if ORX_PRINT_DEBUG_OUTPUT
    77 
    78   #define PRINTF(x) \
    79    PRINTF ## x
    80 
    81   #if ORX_HARD_DEBUG_LEVEL >= ORX_ERROR
    82    #define PRINTF1 \
    83     if (getSoftDebugLevel() >= ORX_ERROR) \
    84      printf("Error (in %s, line %d): ", __FILE__, __LINE__), PRINT_EXEC
    85   #else
    86    #define PRINTF1 if (ORX_NONE) PRINT_EXEC
    87   #endif
    88 
    89   #if ORX_HARD_DEBUG_LEVEL >= ORX_WARNING
    90    #define PRINTF2 \
    91     if (getSoftDebugLevel() >= ORX_WARNING) \
    92      printf("Warning (in %s, line %d): ", __FILE__, __LINE__), PRINT_EXEC
    93   #else
    94    #define PRINTF2 if (ORX_NONE) PRINT_EXEC
    95   #endif
    96 
    97   #if ORX_HARD_DEBUG_LEVEL >= ORX_INFO
    98    #define PRINTF3 \
    99     if (getSoftDebugLevel() >= ORX_INFO) \
    100      printf("Info (in %s, line %d): ", __FILE__, __LINE__), PRINT_EXEC
    101   #else
    102    #define PRINTF3 if (ORX_NONE) PRINT_EXEC
    103   #endif
    104 
    105   #if ORX_HARD_DEBUG_LEVEL >= ORX_DEBUG
    106    #define PRINTF4 \
    107     if (getSoftDebugLevel() >= ORX_DEBUG) \
    108      printf("Debug (in %s, line %d): ", __FILE__, __LINE__), PRINT_EXEC
    109   #else
    110    #define PRINTF4 if (ORX_NONE) PRINT_EXEC
    111   #endif
    112 
    113   #if ORX_HARD_DEBUG_LEVEL >= ORX_vDEBUG
    114    #define PRINTF5 \
    115     if (getSoftDebugLevel() >= ORX_vDEBUG) \
    116      printf("vDebug (in %s, line %d): ", __FILE__, __LINE__), PRINT_EXEC
    117   #else
    118    #define PRINTF5 if (ORX_NONE) PRINT_EXEC
    119   #endif
    120 
    121  #else /* if ORX_PRINT_DEBUG_OUTPUT */
    122   #define PRINTF(x) if (ORX_NONE) PRINT_EXEC
    123  #endif /* if ORX_PRINT_DEBUG_OUTPUT */
    124 
    125  #define PRINTF0 \
    126   PRINT_EXEC
    127 #endif /* ifndef PRINTF */
    128 
    129 ///////////////////////////////////////////////////
    130 ///  PRINT: just prints output as is            ///
    131 ///////////////////////////////////////////////////
    132 #define PRINTORX_NONE    PRINT0
    133 #define PRINTORX_ERROR   PRINT1
    134 #define PRINTORX_WARNING PRINT2
    135 #define PRINTORX_INFO    PRINT3
    136 #define PRINTORX_DEBUG   PRINT4
    137 #define PRINTORX_vDEBUG  PRINT5
    138 
    139 #ifndef PRINT
    140  #if ORX_PRINT_DEBUG_OUTPUT
    141   #define PRINT(x) \
    142    PRINT ## x
    143 
    144   #if ORX_HARD_DEBUG_LEVEL >= ORX_ERROR
    145    #define PRINT1  \
    146     if (getSoftDebugLevel() >= ORX_ERROR)  \
    147      PRINT_EXEC
    148   #else
    149    #define PRINT1 if (ORX_NONE) PRINT_EXEC
    150   #endif
    151 
    152   #if ORX_HARD_DEBUG_LEVEL >= ORX_WARNING
    153    #define PRINT2 \
    154     if (getSoftDebugLevel() >= ORX_WARNING) \
    155      PRINT_EXEC
    156   #else
    157    #define PRINT2 if (ORX_NONE) PRINT_EXEC
    158   #endif
    159 
    160   #if ORX_HARD_DEBUG_LEVEL >= ORX_INFO
    161    #define PRINT3 \
    162     if (getSoftDebugLevel() >= ORX_INFO) \
    163      PRINT_EXEC
    164   #else
    165    #define PRINT3 if (ORX_NONE) PRINT_EXEC
    166   #endif
    167 
    168   #if ORX_HARD_DEBUG_LEVEL >= ORX_DEBUG
    169    #define PRINT4 \
    170     if (getSoftDebugLevel() >= ORX_DEBUG) \
    171      PRINT_EXEC
    172   #else
    173    #define PRINT4 if (ORX_NONE) PRINT_EXEC
    174   #endif
    175 
    176   #if ORX_HARD_DEBUG_LEVEL >= ORX_vDEBUG
    177    #define PRINT5 \
    178     if (getSoftDebugLevel() >= ORX_vDEBUG) \
    179      PRINT_EXEC
    180   #else
    181    #define PRINT5 if (ORX_NONE) PRINT_EXEC
    182   #endif
    183 
    184  #else /* if ORX_PRINT_DEBUG_OUTPUT */
    185   #define PRINT(x) if (ORX_NONE) PRINT_EXEC
    186  #endif /* if ORX_PRINT_DEBUG_OUTPUT */
    187 
    188  #define PRINT0 \
    189   PRINT_EXEC
    190 #endif /* ifndef PRINT */
    191 
     57#define ORX_PRINT_DEBUG_OUTPUT 1
     58#define ORX_HARD_DEBUG_LEVEL ORX_VERBOSE
     59
     60#define COUT_EXEC(x) orxonox::OutputHandler::getOutStream().setOutputLevel(x)
    19261
    19362////////////////////////////////////////////////////////
     
    19968#define COUTORX_INFO    COUT3
    20069#define COUTORX_DEBUG   COUT4
    201 #define COUTORX_vDEBUG  COUT5
     70#define COUTORX_VERBOSE COUT5
     71#define COUTORX_ULTRA   COUT6
    20272
    20373#ifndef COUT
     
    21181     COUT_EXEC(0)
    21282  #else
    213    #define COUT0 if (ORX_NONE)\
    214     COUT_EXEC(0)
     83   #define COUT0 \
     84    false ? COUT_EXEC(0) : COUT_EXEC(0)
    21585  #endif
    21686
     
    22090     COUT_EXEC(1)
    22191  #else
    222    #define COUT1 if (ORX_NONE)\
    223     COUT_EXEC(1)
     92   #define COUT1 \
     93    false ? COUT_EXEC(1) : COUT_EXEC(1)
    22494  #endif
    22595
     
    22999     COUT_EXEC(2)
    230100  #else
    231    #define COUT2 if (ORX_NONE) \
    232     COUT_EXEC(2)
     101   #define COUT2 \
     102    false ? COUT_EXEC(2) : COUT_EXEC(2)
    233103  #endif
    234104
     
    238108     COUT_EXEC(3)
    239109  #else
    240    #define COUT3 if (ORX_NONE) \
    241     COUT_EXEC(3)
     110   #define COUT3 \
     111    false ? COUT_EXEC(3) : COUT_EXEC(3)
    242112  #endif
    243113
     
    247117     COUT_EXEC(4)
    248118  #else
    249    #define COUT4 if (ORX_NONE) \
    250     COUT_EXEC(4)
    251   #endif
    252 
    253   #if ORX_HARD_DEBUG_LEVEL >= ORX_vDEBUG
     119   #define COUT4 \
     120    false ? COUT_EXEC(4) : COUT_EXEC(4)
     121  #endif
     122
     123  #if ORX_HARD_DEBUG_LEVEL >= ORX_VERBOSE
    254124   #define COUT5 \
    255     if (getSoftDebugLevel() >= ORX_vDEBUG) \
     125    if (getSoftDebugLevel() >= ORX_VERBOSE) \
    256126     COUT_EXEC(5)
    257127  #else
    258    #define COUT5 if (ORX_NONE) \
    259     COUT_EXEC(5)
     128   #define COUT5 \
     129    false ? COUT_EXEC(5) : COUT_EXEC(5)
     130  #endif
     131
     132  #if ORX_HARD_DEBUG_LEVEL >= ORX_ULTRA
     133   #define COUT6 \
     134    if (getSoftDebugLevel() >= ORX_ULTRA) \
     135     COUT_EXEC(6)
     136  #else
     137   #define COUT6 \
     138    false ? COUT_EXEC(6) : COUT_EXEC(6)
    260139  #endif
    261140
    262141 #else /* if ORX_PRINT_DEBUG_OUTPUT */
    263   #define COUT(x) if (ORX_NONE) \
    264    COUT_EXEC(5)
     142  #define COUT(x) \
     143    false ? COUT_EXEC(6) : COUT_EXEC(6)
    265144 #endif /* if ORX_PRINT_DEBUG_OUTPUT */
    266145
     
    276155#define CCOUTORX_INFO    CCOUT3
    277156#define CCOUTORX_DEBUG   CCOUT4
    278 #define CCOUTORX_vDEBUG  CCOUT5
     157#define CCOUTORX_VERBOSE CCOUT5
     158#define CCOUTORX_ULTRA   CCOUT6
    279159
    280160#define CCOUT_EXEC(x) \
     
    292172     CCOUT_EXEC(0)
    293173  #else
    294    #define CCOUT0 if (ORX_NONE)\
    295     CCOUT_EXEC(0)
     174   #define CCOUT0 \
     175    false ? CCOUT_EXEC(0) : CCOUT_EXEC(0)
    296176  #endif
    297177
     
    301181     CCOUT_EXEC(1)
    302182  #else
    303    #define CCOUT1 if (ORX_NONE)\
    304     CCOUT_EXEC(1)
     183   #define CCOUT1 \
     184    false ? CCOUT_EXEC(1) : CCOUT_EXEC(1)
    305185  #endif
    306186
     
    310190     CCOUT_EXEC(2)
    311191  #else
    312    #define CCOUT2 if (ORX_NONE) \
    313     CCOUT_EXEC(2)
     192   #define CCOUT2 \
     193    false ? CCOUT_EXEC(2) : CCOUT_EXEC(2)
    314194  #endif
    315195
     
    319199     CCOUT_EXEC(3)
    320200  #else
    321    #define CCOUT3 if (ORX_NONE) \
    322     CCOUT_EXEC(3)
     201   #define CCOUT3 \
     202    false ? CCOUT_EXEC(3) : CCOUT_EXEC(3)
    323203  #endif
    324204
     
    328208     CCOUT_EXEC(4)
    329209  #else
    330    #define CCOUT4 if (ORX_NONE) \
    331     CCOUT_EXEC(4)
    332   #endif
    333 
    334   #if ORX_HARD_DEBUG_LEVEL >= ORX_vDEBUG
     210   #define CCOUT4 \
     211    false ? CCOUT_EXEC(4) : CCOUT_EXEC(4)
     212  #endif
     213
     214  #if ORX_HARD_DEBUG_LEVEL >= ORX_VERBOSE
    335215   #define CCOUT5 \
    336     if (getSoftDebugLevel() >= ORX_vDEBUG) \
     216    if (getSoftDebugLevel() >= ORX_VERBOSE) \
    337217     CCOUT_EXEC(5)
    338218  #else
    339    #define CCOUT5 if (ORX_NONE) \
    340     CCOUT_EXEC(5)
     219   #define CCOUT5 \
     220    false ? CCOUT_EXEC(5) : CCOUT_EXEC(5)
     221  #endif
     222
     223  #if ORX_HARD_DEBUG_LEVEL >= ORX_ULTRA
     224   #define CCOUT6 \
     225    if (getSoftDebugLevel() >= ORX_ULTRA) \
     226     CCOUT_EXEC(6)
     227  #else
     228   #define CCOUT6 \
     229    false ? CCOUT_EXEC(6) : CCOUT_EXEC(6)
    341230  #endif
    342231
    343232 #else /* if ORX_PRINT_DEBUG_OUTPUT */
    344   #define CCOUT(x) if (ORX_NONE) \
    345    CCOUT_EXEC(5)
     233  #define CCOUT(x) \
     234   false ? CCOUT_EXEC(6) : CCOUT_EXEC(6)
    346235 #endif /* if ORX_PRINT_DEBUG_OUTPUT */
    347236
Note: See TracChangeset for help on using the changeset viewer.