Files
mongo/jstests/auth/log_user_basic.js
Andy Schwerin ea22c31735 SERVER-10084 New logging implementation.
This change-set:

* Introduces a new top-level directory, mongo/logger, containing most of the implementation of logging functionality formerly found in log.cpp/log.h.

* Cleans up existing, unusual uses of the logging system that were not trivially compatible with the new implementation.

* Replaces Logstream/Nulstream with a LogstreamBuilder object, whose destructor writes log messages.  This new LogstreamBuilder is reentrant, unlike the old logging code, which was thread-safe but not reentrant.  Additionally, std::endl is no longer required to terminate a log line.  When a LogstreamBuilder goes out of scope, the log message gets committed.

* Separates the log system into several components: a global LogManager, several LogDomains, various kinds of Appenders (e.g., SyslogAppender) and Encoders (for formatting messages).

* Allows unit tests to capture and examine log output.

This patch does _not_ introduce support for hierarchical log domains, or for enabling and disabling specific log domains when the server is running in a multi-threaded mode.  This is future work.
2013-07-09 16:43:33 -04:00

8.4 KiB