Enum pyo3_log::Caching [−][src]
#[non_exhaustive]
pub enum Caching {
Nothing,
Loggers,
LoggersAndLevels,
}Expand description
What the Logger can cache.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Disables caching.
Every time a log message passes the filters, the code goes to the Python side to check if the message shall be logged.
Caches the Python Logger objects.
The logger objects (which should stay the same during the lifetime of a Python application) are cached. However, the log levels are not. This means there’s some amount of calling of Python code saved during a logging call, but the GIL still needs to be acquired even if the message doesn’t eventually get output anywhere.
Caches both the Python Logger and their respective effective log levels.
Therefore, once a Logger has been cached, it is possible to decide on the Rust side if a
message would get logged or not. If the message is not to be logged, no Python code is
called and the GIL doesn’t have to be acquired.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Cachingimpl UnwindSafe for CachingBlanket Implementations
Mutably borrows from an owned value. Read more