Server Logging Rules

Ramon Fernandez edited this page Feb 8, 2016 · 1 revision

Basic Rules

  • cout/cerr should never be used
  • Include mongo/util/log.h to use the LOG() helper macro
  • Declare a log component before the first #include statement in a .cpp file to assign a default log component to log messages.

    #define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
    #include ...

Normal Logging

  • Debugging with levels of verbosity. See the -v command line option (default level is 0). If the global log level is less than x, no functions in the stream are executed.

    LOG( int x ) << ...
  • Informational

    log() << ...
  • Warnings

    • recoverable, e.g. replica set node down
    warning() << ...
  • Errors

    • unexpected system state (disk full)
    • internal code errors
    error() << ...