The MongoLog class
(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:
// 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
// print info- and server tuning-level events from replica sets and connection pooling
- Constant for turning logging off.
- Constant for logging everything.
MongoLog Level Constants
These constants can be used by MongoLog::setLevel().
- This will print log messages about somewhat exceptional but not-quite-exception-worthy happenings.
- Logs events that may be of interest to administrators, but are not particularly noteworthy.
- Logs most events that the driver performs. Depending on the module being logged, this can be extremely noisy and is primarily for debugging.
MongoLog Module Constants
These constants can be used by MongoLog::setModule().
- Logs traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.
- Log server string parsing.
- Log connection pool activity. Creating new connections, reusing connections, and closing connections.
- Log replica set activity. Failovers, pinging, chosing secondaries to read from, etc.
- Log server status changes. Detecting primary, secondary and duplication detection.
Table of Contents
- MongoLog::getCallback - Retrieve the previously set callback function name
- MongoLog::getLevel - Gets the log level
- MongoLog::getModule - Gets the modules currently being logged
- MongoLog::setCallback - Set a callback function to be called on events
- MongoLog::setLevel - Sets logging level
- MongoLog::setModule - Sets driver functionality to log