event_loggers – Example loggers

Example event logger classes.

New in version 3.11.

These loggers can be registered using register() or MongoClient.

monitoring.register(CommandLogger())

or

MongoClient(event_listeners=[CommandLogger()])

class pymongo.event_loggers.CommandLogger

A simple listener that logs command events.

Listens for CommandStartedEvent, CommandSucceededEvent and CommandFailedEvent events and logs them at the INFO severity level using logging. .. versionadded:: 3.11

failed(event: pymongo.monitoring.CommandFailedEvent) None

Abstract method to handle a CommandFailedEvent.

Parameters
  • event: An instance of CommandFailedEvent.

started(event: pymongo.monitoring.CommandStartedEvent) None

Abstract method to handle a CommandStartedEvent.

Parameters
  • event: An instance of CommandStartedEvent.

succeeded(event: pymongo.monitoring.CommandSucceededEvent) None

Abstract method to handle a CommandSucceededEvent.

Parameters
  • event: An instance of CommandSucceededEvent.

class pymongo.event_loggers.ConnectionPoolLogger

A simple listener that logs server connection pool events.

Listens for PoolCreatedEvent, PoolClearedEvent, PoolClosedEvent, :~pymongo.monitoring.class:ConnectionCreatedEvent, ConnectionReadyEvent, ConnectionClosedEvent, ConnectionCheckOutStartedEvent, ConnectionCheckOutFailedEvent, ConnectionCheckedOutEvent, and ConnectionCheckedInEvent events and logs them at the INFO severity level using logging.

New in version 3.11.

connection_check_out_failed(event: pymongo.monitoring.ConnectionCheckOutFailedEvent) None

Abstract method to handle a ConnectionCheckOutFailedEvent.

Emitted when the driver’s attempt to check out a connection fails.

Parameters
  • event: An instance of ConnectionCheckOutFailedEvent.

connection_check_out_started(event: pymongo.monitoring.ConnectionCheckOutStartedEvent) None

Abstract method to handle a ConnectionCheckOutStartedEvent.

Emitted when the driver starts attempting to check out a connection.

Parameters
  • event: An instance of ConnectionCheckOutStartedEvent.

connection_checked_in(event: pymongo.monitoring.ConnectionCheckedInEvent) None

Abstract method to handle a ConnectionCheckedInEvent.

Emitted when the driver checks in a Connection back to the Connection Pool.

Parameters
  • event: An instance of ConnectionCheckedInEvent.

connection_checked_out(event: pymongo.monitoring.ConnectionCheckedOutEvent) None

Abstract method to handle a ConnectionCheckedOutEvent.

Emitted when the driver successfully checks out a Connection.

Parameters
  • event: An instance of ConnectionCheckedOutEvent.

connection_closed(event: pymongo.monitoring.ConnectionClosedEvent) None

Abstract method to handle a ConnectionClosedEvent.

Emitted when a Connection Pool closes a Connection.

Parameters
  • event: An instance of ConnectionClosedEvent.

connection_created(event: pymongo.monitoring.ConnectionCreatedEvent) None

Abstract method to handle a ConnectionCreatedEvent.

Emitted when a Connection Pool creates a Connection object.

Parameters
  • event: An instance of ConnectionCreatedEvent.

connection_ready(event: pymongo.monitoring.ConnectionReadyEvent) None

Abstract method to handle a ConnectionReadyEvent.

Emitted when a Connection has finished its setup, and is now ready to use.

Parameters
  • event: An instance of ConnectionReadyEvent.

pool_cleared(event: pymongo.monitoring.PoolClearedEvent) None

Abstract method to handle a PoolClearedEvent.

Emitted when a Connection Pool is cleared.

Parameters
  • event: An instance of PoolClearedEvent.

pool_closed(event: pymongo.monitoring.PoolClosedEvent) None

Abstract method to handle a PoolClosedEvent.

Emitted when a Connection Pool is closed.

Parameters
  • event: An instance of PoolClosedEvent.

pool_created(event: pymongo.monitoring.PoolCreatedEvent) None

Abstract method to handle a PoolCreatedEvent.

Emitted when a Connection Pool is created.

Parameters
  • event: An instance of PoolCreatedEvent.

pool_ready(event)

Abstract method to handle a PoolReadyEvent.

Emitted when a Connection Pool is marked ready.

Parameters
  • event: An instance of PoolReadyEvent.

New in version 4.0.

class pymongo.event_loggers.HeartbeatLogger

A simple listener that logs server heartbeat events.

Listens for ServerHeartbeatStartedEvent, ServerHeartbeatSucceededEvent, and ServerHeartbeatFailedEvent events and logs them at the INFO severity level using logging.

New in version 3.11.

failed(event: pymongo.monitoring.ServerHeartbeatFailedEvent) None

Abstract method to handle a ServerHeartbeatFailedEvent.

Parameters
  • event: An instance of ServerHeartbeatFailedEvent.

started(event: pymongo.monitoring.ServerHeartbeatStartedEvent) None

Abstract method to handle a ServerHeartbeatStartedEvent.

Parameters
  • event: An instance of ServerHeartbeatStartedEvent.

succeeded(event: pymongo.monitoring.ServerHeartbeatSucceededEvent) None

Abstract method to handle a ServerHeartbeatSucceededEvent.

Parameters
  • event: An instance of ServerHeartbeatSucceededEvent.

class pymongo.event_loggers.ServerLogger

A simple listener that logs server discovery events.

Listens for ServerOpeningEvent, ServerDescriptionChangedEvent, and ServerClosedEvent events and logs them at the INFO severity level using logging.

New in version 3.11.

closed(event: pymongo.monitoring.ServerClosedEvent) None

Abstract method to handle a ServerClosedEvent.

Parameters
  • event: An instance of ServerClosedEvent.

description_changed(event: pymongo.monitoring.ServerDescriptionChangedEvent) None

Abstract method to handle a ServerDescriptionChangedEvent.

Parameters
  • event: An instance of ServerDescriptionChangedEvent.

opened(event: pymongo.monitoring.ServerOpeningEvent) None

Abstract method to handle a ServerOpeningEvent.

Parameters
  • event: An instance of ServerOpeningEvent.

class pymongo.event_loggers.TopologyLogger

A simple listener that logs server topology events.

Listens for TopologyOpenedEvent, TopologyDescriptionChangedEvent, and TopologyClosedEvent events and logs them at the INFO severity level using logging.

New in version 3.11.

closed(event: pymongo.monitoring.TopologyClosedEvent) None

Abstract method to handle a TopologyClosedEvent.

Parameters
  • event: An instance of TopologyClosedEvent.

description_changed(event: pymongo.monitoring.TopologyDescriptionChangedEvent) None

Abstract method to handle a TopologyDescriptionChangedEvent.

Parameters
  • event: An instance of TopologyDescriptionChangedEvent.

opened(event: pymongo.monitoring.TopologyOpenedEvent) None

Abstract method to handle a TopologyOpenedEvent.

Parameters
  • event: An instance of TopologyOpenedEvent.