summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Verch <shaun.verch@10gen.com>2012-10-11 13:16:04 -0700
committerMathias Stearn <redbeard0531@gmail.com>2013-03-06 17:26:18 -0500
commit0b92639ad548a9262bf7ee19dbf66b7478fe09e8 (patch)
tree28f5c7fd2edfe208fe44f40d1d1901075355fdff
parenta3f7825c1e5f0b1d27cb1d75a080f34d63669d67 (diff)
downloadmongo-0b92639ad548a9262bf7ee19dbf66b7478fe09e8.tar.gz
SERVER-7231 Use ternary operator in LOG() macro and add necessary comparison operators
-rw-r--r--src/mongo/util/log.h15
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 ) {