Trait mongodb::event::command::CommandEventHandler
source · pub trait CommandEventHandler: Send + Sync {
// Provided methods
fn handle_command_started_event(&self, _event: CommandStartedEvent) { ... }
fn handle_command_succeeded_event(&self, _event: CommandSucceededEvent) { ... }
fn handle_command_failed_event(&self, _event: CommandFailedEvent) { ... }
}
Expand description
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§
sourcefn handle_command_started_event(&self, _event: CommandStartedEvent)
fn handle_command_started_event(&self, _event: CommandStartedEvent)
A Client
will call this method on each registered handler
whenever a database command is initiated.
sourcefn handle_command_succeeded_event(&self, _event: CommandSucceededEvent)
fn handle_command_succeeded_event(&self, _event: CommandSucceededEvent)
A Client
will call this method on each registered handler
whenever a database command successfully completes.
sourcefn handle_command_failed_event(&self, _event: CommandFailedEvent)
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.