Changeset 1938

Show
Ignore:
Timestamp:
04/12/2007 00:07:45 (13 months ago)
Author:
chris
Message:

Enable TRACE logging in release builds, but make it really cheap
when disabled.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • box/trunk/lib/common/Logging.h

    r1870 r1938  
    3838#define BOX_NOTICE(stuff)  BOX_LOG(Log::NOTICE,  stuff) 
    3939#define BOX_INFO(stuff)    BOX_LOG(Log::INFO,    stuff) 
    40 #if defined NDEBUG && ! defined COMPILE_IN_TRACES 
    41         #define BOX_TRACE(stuff)    
    42 #else 
    43         #define BOX_TRACE(stuff)   BOX_LOG(Log::TRACE, stuff) 
    44 #endif 
     40#define BOX_TRACE(stuff)   \ 
     41        if (Logging::IsEnabled(Log::TRACE)) \ 
     42        { BOX_LOG(Log::TRACE, stuff) } 
    4543 
    4644#define BOX_FORMAT_ACCOUNT(accno) \ 
     
    194192        static void ClearContext(); 
    195193        static void SetGlobalLevel(Log::Level level) { sGlobalLevel = level; } 
     194        static bool IsEnabled(Log::Level level) 
     195        { 
     196                return (int)sGlobalLevel >= (int)level; 
     197        } 
    196198        static void SetProgramName(const std::string& rProgramName); 
    197199};