[][src]Trait mongodb::event::command::CommandEventHandler

pub trait CommandEventHandler: Send + Sync {
    fn handle_command_started_event(&self, event: CommandStartedEvent) { ... }
fn handle_command_succeeded_event(&self, event: CommandSucceededEvent) { ... }
fn handle_command_failed_event(&self, event: CommandFailedEvent) { ... } }

Applications can implement this trait to specify custom logic to run on each command event sent by the driver.

struct FailedCommandLogger;

impl CommandEventHandler for FailedCommandLogger {
    fn handle_command_failed_event(&self, event: CommandFailedEvent) {
        eprintln!("Failed command: {:?}", event);
    }
}

let handler: Arc<dyn CommandEventHandler> = Arc::new(FailedCommandLogger);
let options = ClientOptions::builder()
                  .command_event_handler(handler)
                  .build();
let client = Client::with_options(options)?;

// Do things with the client, and failed command events will be logged to stderr.

Provided methods

fn handle_command_started_event(&self, event: CommandStartedEvent)

A Client will call this method on each registered handler whenever a database command is initiated.

fn handle_command_succeeded_event(&self, event: CommandSucceededEvent)

A Client will call this method on each registered handler whenever a database command successfully completes.

fn handle_command_failed_event(&self, event: CommandFailedEvent)

A Client will call this method on each registered handler whenever a database command fails to complete successfully.

Loading content...

Implementors

Loading content...