diff options
author | Mathias Stearn <mathias@10gen.com> | 2013-01-18 18:37:08 -0500 |
---|---|---|
committer | Mathias Stearn <redbeard0531@gmail.com> | 2013-03-06 17:36:20 -0500 |
commit | 9887fa9cd31bc8fb8500784d1635068cab6abb3e (patch) | |
tree | ba13af78ff6a4f178ef050d43a8920aee9daae72 | |
parent | 083b31476e393258220410f7268261b38c529d97 (diff) | |
download | mongo-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.h | 31 |
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 */ |