diff options
-rw-r--r-- | src/mongo/util/log.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/mongo/util/log.h b/src/mongo/util/log.h index 15ab06dc0df..11fdf813012 100644 --- a/src/mongo/util/log.h +++ b/src/mongo/util/log.h @@ -110,6 +110,17 @@ namespace mongo { int _level; }; + inline bool operator<( const LabeledLevel& ll, const int i ) { return ll.getLevel() < i; } + inline bool operator<( const int i, const LabeledLevel& ll ) { return i < ll.getLevel(); } + inline bool operator>( const LabeledLevel& ll, const int i ) { return ll.getLevel() > i; } + inline bool operator>( const int i, const LabeledLevel& ll ) { return i > ll.getLevel(); } + inline bool operator<=( const LabeledLevel& ll, const int i ) { return ll.getLevel() <= i; } + inline bool operator<=( const int i, const LabeledLevel& ll ) { return i <= ll.getLevel(); } + inline bool operator>=( const LabeledLevel& ll, const int i ) { return ll.getLevel() >= i; } + inline bool operator>=( const int i, const LabeledLevel& ll ) { return i >= ll.getLevel(); } + inline bool operator==( const LabeledLevel& ll, const int i ) { return ll.getLevel() == i; } + inline bool operator==( const int i, const LabeledLevel& ll ) { return i == ll.getLevel(); } + class LazyString { public: virtual ~LazyString() {} @@ -382,7 +393,9 @@ namespace mongo { return Logstream::get().prolog(); } -#define MONGO_LOG(level) if ( MONGO_likely(logLevel < (level)) ) { } else log( level ) +#define MONGO_LOG(requiredLevel) \ + ( MONGO_likely( ::mongo::logLevel < (requiredLevel) ) ) \ + ? ::mongo::log() : ::mongo::log() #define LOG MONGO_LOG inline Nullstream& log( LogLevel l ) { |