summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2013-01-18 18:37:08 -0500
committerMathias Stearn <redbeard0531@gmail.com>2013-03-06 17:36:20 -0500
commit9887fa9cd31bc8fb8500784d1635068cab6abb3e (patch)
treeba13af78ff6a4f178ef050d43a8920aee9daae72
parent083b31476e393258220410f7268261b38c529d97 (diff)
downloadmongo-9887fa9cd31bc8fb8500784d1635068cab6abb3e.tar.gz
SERVER-8244 Pass log levels from MONGO_LOG to Logstream
This is a partial reversion and change of commit 4db60cf23b58a7a5e177e69c142ab9e1503a3b1b.
-rw-r--r--src/mongo/util/log.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/mongo/util/log.h b/src/mongo/util/log.h
index 2af3974d3bc..1f6e59a3af5 100644
--- a/src/mongo/util/log.h
+++ b/src/mongo/util/log.h
@@ -38,7 +38,8 @@ namespace mongo {
enum ExitCode;
- enum LogLevel { LL_DEBUG , LL_INFO , LL_NOTICE , LL_WARNING , LL_ERROR , LL_SEVERE };
+ // using negative numbers so these are always less than ::mongo::loglevel (see MONGO_LOG)
+ enum LogLevel { LL_DEBUG=-1000 , LL_INFO , LL_NOTICE , LL_WARNING , LL_ERROR , LL_SEVERE };
inline const char * logLevelToString( LogLevel l ) {
switch ( l ) {
@@ -387,21 +388,39 @@ namespace mongo {
return nullstream;
}
-#define MONGO_LOG(requiredLevel) \
- ( MONGO_likely( ::mongo::logLevel < (requiredLevel) ) ) \
- ? ::mongo::nullstream : ::mongo::log()
+#define MONGO_LOG(level) \
+ ( MONGO_likely( ::mongo::logLevel < (level) ) ) \
+ ? ::mongo::nullstream : ::mongo::logWithLevel(level)
#define LOG MONGO_LOG
inline Nullstream& log() {
return Logstream::get().prolog();
}
+ // Use MONGO_LOG() instead of this
+ inline Nullstream& logWithLevel( int level ) {
+ if ( level > logLevel )
+ return nullstream;
+ return Logstream::get().prolog();
+ }
+
+ inline Nullstream& logWithLevel( LogLevel l ) {
+ return Logstream::get().prolog().setLogLevel( l );
+ }
+
+ inline Nullstream& logWithLevel( const LabeledLevel& ll ) {
+ Nullstream& stream = logWithLevel( ll.getLevel() );
+ if( ll.getLabel() != "" )
+ stream << "[" << ll.getLabel() << "] ";
+ return stream;
+ }
+
inline Nullstream& error() {
- return MONGO_LOG( LL_ERROR );
+ return logWithLevel( LL_ERROR );
}
inline Nullstream& warning() {
- return MONGO_LOG( LL_WARNING );
+ return logWithLevel( LL_WARNING );
}
/* default impl returns "" -- mongod overrides */