(PECL mongo >=1.2.3)
Logging can be used to get detailed information about what the driver is doing. The logging mechanism as used by MongoLog emits all log messages as a PHP notice. Depending on the server interface that you use, that means that they will either be sent to strerr (with PHP-CLI), or otherwise to the web server's error log. In order for log messages to be output by PHP their level (E_NOTICE) does need to be configured to be shown. That means the E_NOTICE bit needs to be part of PHP's error_reporting level and that display_errors is set to 1.
Logging is turned off, by default. This class allows you to turn on specific levels of logging for specific parts of the driver. Some examples:
<?php
// print every log message possible
MongoLog::setLevel(MongoLog::ALL); // all log levels
MongoLog::setModule(MongoLog::ALL); // all parts of the driver
// print significant events about replica set failover
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);
// print info- and server tuning-level events from replica sets and connection pooling
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::POOL);
?>
These constants can be used by both MongoLog::setLevel() and MongoLog::setModule().
MongoLog::NONE
MongoLog::ALL
These constants can be used by MongoLog::setLevel().
MongoLog::WARNING
MongoLog::INFO
MongoLog::FINE
These constants can be used by MongoLog::setModule().
MongoLog::IO
MongoLog::PARSE
MongoLog::POOL
MongoLog::RS
MongoLog::SERVER