Struct pyo3_log::Logger

source ·
pub struct Logger { /* private fields */ }
Expand description

The Logger

The actual Logger that can be installed into the Rust side and will send messages over to Python.

It can be either created directly and then installed, passed to other aggregating log systems, or the init or try_init functions may be used if defaults are good enough.

Implementations§

source§

impl Logger

source

pub fn new(py: Python<'_>, caching: Caching) -> PyResult<Self>

Creates a new logger.

It defaults to having a filter for Debug.

source

pub fn install(self) -> Result<ResetHandle, SetLoggerError>

Installs this logger as the global one.

When installing, it also sets the corresponding maximum level, constructed using the filters in this logger.

source

pub fn reset_handle(&self) -> ResetHandle

Provides the reset handle of this logger.

Note that installing the logger also returns a reset handle. This function is available if, for example, the logger will be passed to some other logging system that connects multiple loggers together.

source

pub fn filter(self, filter: LevelFilter) -> Self

Configures the default logging filter.

Log messages will be filtered according a filter. If one provided by a filter_target matches, it takes preference. If none matches, this one is used.

The default filter if none set is Debug.

source

pub fn filter_target(self, target: String, filter: LevelFilter) -> Self

Sets a filter for a specific target, overriding the default.

This’ll match targets with the same name and all the children in the module hierarchy. In case multiple match, the most specific one wins.

With this configuration, modules will log in the following levels:


Logger::default()
    .filter(LevelFilter::Warn)
    .filter_target("xy".to_owned(), LevelFilter::Debug)
    .filter_target("xy::aa".to_owned(), LevelFilter::Trace);
  • whatever => Warn
  • xy => Debug
  • xy::aa => Trace
  • xy::aabb => Debug

Trait Implementations§

source§

impl Debug for Logger

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Logger

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Log for Logger

source§

fn enabled(&self, metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be logged. Read more
source§

fn log(&self, record: &Record<'_>)

Logs the Record. Read more
source§

fn flush(&self)

Flushes any buffered records. Read more

Auto Trait Implementations§

§

impl Freeze for Logger

§

impl !RefUnwindSafe for Logger

§

impl Send for Logger

§

impl Sync for Logger

§

impl Unpin for Logger

§

impl !UnwindSafe for Logger

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Ungil for T
where T: Send,