MongoGridFSCursor::key
MongoLog
Mongo
PHP Manual

# Miscellaneous

Table of Contents

- MongoLog — The MongoLog class
  - 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
- MongoPool — The MongoPool class
  - MongoPool::getSize — Get pool size for connection pools
  - MongoPool::info — Returns information about all connection pools.
  - MongoPool::setSize — Set the size for future connection pools.
- Mongo — The Mongo class [deprecated]
  - Mongo::connectUtil — Connects with a database server
  - Mongo::__construct — The __construct purpose
  - Mongo::getPoolSize — Get pool size for connection pools
  - Mongo::getSlave — Returns the address being used by this for slaveOkay reads
  - Mongo::getSlaveOkay — Get slaveOkay setting for this connection
  - Mongo::poolDebug — Returns information about all connection pools.
  - Mongo::setPoolSize — Set the size for future connection pools.
  - Mongo::setSlaveOkay — Change slaveOkay setting for this connection
  - Mongo::switchSlave — Choose a new secondary for slaveOkay reads

# The MongoLog class

## Introduction

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);
?>`

## Class synopsis

MongoLog
class MongoLog {
/* Constants */
const int MongoLog::NONE = 0 ;
const int MongoLog::ALL = 31 ;
level constants {
const int MongoLog::WARNING = 1 ;
const int MongoLog::INFO = 2 ;
const int MongoLog::FINE = 4 ;
module constants {
const int MongoLog::RS = 1 ;
const int MongoLog::POOL = 2 ;
const int MongoLog::IO = 4 ;
const int MongoLog::SERVER = 8 ;
const int MongoLog::PARSE = 16 ;
/* Fields */
public int $level ;
public int $module ;
/* Methods */
public static void getCallback ( void )
public static int getLevel ( void )
public static int getModule ( void )
public static void setCallback ( callable `$log_function` )
public static void setLevel ( int `$level` )
public static void setModule ( int `$module` )
}

## Predefined Constants

## MongoLog Constants

These constants can be used by both MongoLog::setLevel and MongoLog::setModule.

`MongoLog::NONE`
  Constant for turning logging off.
`MongoLog::ALL`
  Constant for logging everything.

## MongoLog Level Constants

These constants can be used by MongoLog::setLevel.

`MongoLog::WARNING`
  This will print log messages about somewhat exceptional but not-quite-exception-worthy happenings.
`MongoLog::INFO`
  Logs events that may be of interest to administrators, but are not particularly noteworthy.
`MongoLog::FINE`
  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.

`MongoLog::IO`
  Logs traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.
`MongoLog::PARSE`
  Log server string parsing.
`MongoLog::POOL`
  Log connection pool activity. Creating new connections, reusing connections, and closing connections.
`MongoLog::RS`
  Log replica set activity. Failovers, pinging, chosing secondaries to read from, etc.
`MongoLog::SERVER`
  Log server status changes. Detecting primary, secondary and duplication detection.

# The MongoPool class

## Introduction

Warning

The current (1.3.0+) releases of the driver no longer implements pooling. This class and its methods are therefore deprecated and should not be used.

## Class synopsis

MongoPool
class MongoPool {
/* Methods */
public static int getSize ( void )
public array info ( void )
public static bool setSize ( int `$size` )
}

## Changelog

Version | Description
--- | ---
1.3.0 | This functionality has been removed and no longer does anything other than emit deprecation warnings. This class is only kept around for backwards compatability and will be removed in the near future.
1.2.11 | Emits `E_DEPRECATED` when used.

# The Mongo class [deprecated]

## Introduction

A connection between PHP and MongoDB.

This class extends MongoClient and provides access to several deprecated methods.

For backwards compatibility, it also defaults the "w" option of its constructor argument to 0, which does not require write operations to be acknowledged by the server. See MongoClient::__construct for more information.

Warning

This class has been DEPRECATED as of version 1.3.0. Relying on this feature is highly discouraged. Please use MongoClient instead.

## Class synopsis

Mongo
class Mongo extends MongoClient {
/* Methods */
protected bool connectUtil ( void )
public static int getPoolSize ( void )
public string getSlave ( void )
public bool getSlaveOkay ( void )
public array poolDebug ( void )
public static bool setPoolSize ( int `$size` )
public bool setSlaveOkay ([ bool `$ok` = true ] )
public string switchSlave ( void )
/* Inherited methods */
public bool MongoClient::close ([ boolean|string `$connection` ] )
public bool MongoClient::connect ( void )
public array MongoClient::dropDB ( mixed `$db` )
public MongoDB MongoClient::__get ( string `$dbname` )
public static array MongoClient::getConnections ( void )
public array MongoClient::getHosts ( void )
public array MongoClient::getReadPreference ( void )
public bool MongoClient::killCursor ( string `$server_hash` , int|MongoInt64 `$id` )
public array MongoClient::listDBs ( void )
public MongoCollection MongoClient::selectCollection ( string `$db` , string `$collection` )
public MongoDB MongoClient::selectDB ( string `$name` )
public bool MongoClient::setReadPreference ( string `$read_preference` [, array `$tags` ] )
public string MongoClient::__toString ( void )
}