#[non_exhaustive]pub enum Error {
Io(Error),
Format(Error),
Configuration(&'static str),
Closed,
Custom(Box<dyn Error + Send + Sync + 'static>),
}std only.Expand description
Errors produced by the logging pipeline.
Logging is best-effort by design: crate::Logger::log and the
macros never return these errors. They reach you through
crate::Logger::try_log / crate::Logger::try_emit, through
crate::Logger::flush and crate::Logger::shutdown, and
through the handler installed with
crate::LoggerBuilder::on_error.
The enum is #[non_exhaustive]; match it with a wildcard arm.
§Examples
use log_io::Error;
let err = Error::from(std::io::Error::other("disk full"));
assert_eq!(err.to_string(), "log sink I/O error: disk full");
assert!(std::error::Error::source(&err).is_some());Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Io(Error)
The sink’s destination returned an I/O error (disk full, broken pipe, permission denied, …). Retrying may help for transient conditions; persistent failures usually need operator action. The record that triggered it was not written to that sink, but every other sink still received it.
Format(Error)
A formatter failed. With the built-in formats this only happens
when a lazily formatted value (Value::Display, Value::Debug,
Value::Error) or a message’s format arguments return an error
from their own fmt implementation; it indicates a bug in that
implementation or in a custom crate::format::Format.
Configuration(&'static str)
A sink or format rejected its configuration. Among the built-in
components only crate::sink::NonBlockingBuilder::build
returns it (for an invalid thread name); fix the configuration.
Closed
The sink cannot serve the request. Either its background worker
exited (for example after the writer panicked), in which case
records sent to it are lost and the sink must be rebuilt; or a
flush or shutdown was requested from the sink’s own worker
thread (its writer or on_error handler), which cannot wait for
itself.
Custom(Box<dyn Error + Send + Sync + 'static>)
An error from a custom sink that does not fit the other
variants. Construct with Error::custom.
Implementations§
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()