pub struct ExecutionLogger {
pub unmet_condition_level: Option<Level>,
pub unmet_condition_message: String,
pub prepare_failed_level: Option<Level>,
pub prepare_failed_message: String,
pub prepare_commit_failed_level: Option<Level>,
pub prepare_commit_failed_message: String,
pub prepare_rollback_failed_level: Option<Level>,
pub prepare_rollback_failed_message: String,
}Expand description
Logger for double-checked execution (condition unmet, prepare failures, prepare commit failures, and prepare rollback failures).
Each event has its own optional log::Level and message. None means
that event does not emit logs. For prepare-style events the message is a
prefix formatted as "{prefix}: {error}".
ExecutionLogger::default matches the previous Option logger unset
behavior: condition-unmet is silent (None); prepare lifecycle lines use
log::Level::Error with English default prefixes.
§Author
Haixing Hu
Fields§
§unmet_condition_level: Option<Level>Log level for the condition-unmet message; None skips it.
unmet_condition_message: StringMessage logged when the execution condition is not met.
prepare_failed_level: Option<Level>Log level for prepare-action failure lines; None skips them.
prepare_failed_message: StringPrefix for prepare-failure lines, formatted as "{prefix}: {error}".
prepare_commit_failed_level: Option<Level>Log level for prepare-commit failure lines; None skips them.
prepare_commit_failed_message: StringPrefix for prepare-commit failure lines, formatted as "{prefix}: {error}".
prepare_rollback_failed_level: Option<Level>Log level for prepare-rollback failure lines; None skips them.
prepare_rollback_failed_message: StringPrefix for prepare-rollback failure lines, formatted as
"{prefix}: {error}".
Implementations§
Source§impl ExecutionLogger
impl ExecutionLogger
Sourcepub fn set_unmet_condition(
&mut self,
level: Option<Level>,
message: impl Into<String>,
)
pub fn set_unmet_condition( &mut self, level: Option<Level>, message: impl Into<String>, )
Updates logging for the case where the double-checked condition is not met
(the tester returns false before or after taking the lock).
When Self::unmet_condition_level is None, Self::log_unmet_condition
becomes a no-op. The message is still stored and used if the level is set
to Some later.
§Parameters
Sourcepub fn set_prepare_failure(
&mut self,
level: Option<Level>,
message_prefix: impl Into<String>,
)
pub fn set_prepare_failure( &mut self, level: Option<Level>, message_prefix: impl Into<String>, )
Updates logging for a failed optional prepare action (before the lock is taken).
When Self::prepare_failed_level is None, Self::log_prepare_failed
becomes a no-op.
§Parameters
level- Optional severity for the diagnostic line, orNoneto disable.message_prefix- Text placed before the error; the emitted line has the form"{prefix}: {error}".
Sourcepub fn set_prepare_commit_failure(
&mut self,
level: Option<Level>,
message_prefix: impl Into<String>,
)
pub fn set_prepare_commit_failure( &mut self, level: Option<Level>, message_prefix: impl Into<String>, )
Updates logging for a failed prepare commit action (after a successful task when prepare had completed).
When Self::prepare_commit_failed_level is None,
Self::log_prepare_commit_failed becomes a no-op.
§Parameters
level- Optional severity for the diagnostic line, orNoneto disable.message_prefix- Text placed before the error; the emitted line has the form"{prefix}: {error}".
Sourcepub fn set_prepare_rollback_failure(
&mut self,
level: Option<Level>,
message_prefix: impl Into<String>,
)
pub fn set_prepare_rollback_failure( &mut self, level: Option<Level>, message_prefix: impl Into<String>, )
Updates logging for a failed prepare rollback action (after a failed second check or task when prepare had completed).
When Self::prepare_rollback_failed_level is None,
Self::log_prepare_rollback_failed becomes a no-op.
§Parameters
level- Optional severity for the diagnostic line, orNoneto disable.message_prefix- Text placed before the error; the emitted line has the form"{prefix}: {error}".
Sourcepub fn log_unmet_condition(&self)
pub fn log_unmet_condition(&self)
Emits the condition-unmet log line if enabled.
Does nothing when Self::unmet_condition_level is None. Otherwise
writes Self::unmet_condition_message through the log facade at the
configured level, subject to the crate-wide maximum log level (for example
set via log::set_max_level or compile-time filters).
Sourcepub fn log_prepare_failed<E: Display>(&self, err: E)
pub fn log_prepare_failed<E: Display>(&self, err: E)
Emits a diagnostic line when the prepare action fails.
Does nothing when Self::prepare_failed_level is None. Otherwise
logs "{prefix}: {err}" at the configured level via the log facade,
where prefix is Self::prepare_failed_message, subject to the
crate-wide maximum log level.
§Type Parameters
E- Displayable error or message value appended after the prefix.
§Parameters
err- Failure to record next to the configured prefix.
Sourcepub fn log_prepare_commit_failed<E: Display>(&self, err: E)
pub fn log_prepare_commit_failed<E: Display>(&self, err: E)
Emits a diagnostic line when the prepare commit action fails.
Does nothing when Self::prepare_commit_failed_level is None.
Otherwise logs "{prefix}: {err}" at the configured level, where prefix
is Self::prepare_commit_failed_message, subject to the crate-wide
maximum log level.
§Type Parameters
E- Displayable error or message value appended after the prefix.
§Parameters
err- Commit failure to record next to the configured prefix.
Sourcepub fn log_prepare_rollback_failed<E: Display>(&self, err: E)
pub fn log_prepare_rollback_failed<E: Display>(&self, err: E)
Emits a diagnostic line when the prepare rollback action fails.
Does nothing when Self::prepare_rollback_failed_level is None.
Otherwise logs "{prefix}: {err}" at the configured level, where prefix
is Self::prepare_rollback_failed_message, subject to the crate-wide
maximum log level.
§Type Parameters
E- Displayable error or message value appended after the prefix.
§Parameters
err- Rollback failure to record next to the configured prefix.
Trait Implementations§
Source§impl Clone for ExecutionLogger
impl Clone for ExecutionLogger
Source§fn clone(&self) -> ExecutionLogger
fn clone(&self) -> ExecutionLogger
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExecutionLogger
impl Debug for ExecutionLogger
Source§impl Default for ExecutionLogger
impl Default for ExecutionLogger
Source§fn default() -> Self
fn default() -> Self
Returns the logger configuration used when the executor builder does not apply any logging overrides.
Condition-unmet logging is disabled (ExecutionLogger::unmet_condition_level
is None). Prepare lifecycle failures log at log::Level::Error with
short English default prefixes (see the field defaults on ExecutionLogger).
§Returns
A new ExecutionLogger with the values described above.