actix_cloud::logger

Struct LoggerBuilder

Source
pub struct LoggerBuilder { /* private fields */ }
Available on crate feature logger only.

Implementations§

Source§

impl LoggerBuilder

Source

pub fn fmt_level(level: &Level) -> String

Return colored string of level.

  • TRACE/DEBUG => Magenta
  • INFO => Green
  • WARN => Yellow
  • ERROR => Red
Source

pub fn new() -> Self

Create new logger instance. Default is colorful writer, INFO level, no filename and line number.

Source

pub fn json_writer(self, writer: WriterFn) -> Self

Use custom json writer.

§Warning

Do not perform heavy workloads, it can block other logs!

Source

pub fn color_writer(self, writer: WriterFn) -> Self

Use custom colorful writer.

§Warning

Do not perform heavy workloads, it can block other logs!

Source

pub fn json(self) -> Self

Use json format writer.

Source

pub fn level(self, level: Level) -> Self

Set log level.

Source

pub fn filename(self) -> Self

Enable filename in the log.

Source

pub fn line_number(self) -> Self

Enable line number in the log.

Source

pub fn handler<F>(self, handler: F) -> Self
where F: Fn(&Map<String, Value>) -> Pin<Box<dyn Future<Output = bool>>> + Send + 'static,

Customize the handler.

The customized handler will be invoked first, even before the filter. When the return value is false, further handler will be skipped. Otherwise, normal log hander will still be invoked.

§Warning

Do not perform heavy workloads, it can block other logs!

Source

pub fn filter<F>(self, filter: F) -> Self
where F: Fn(&LogItem) -> bool + Send + 'static,

Customize the filter. Filter out unwanted logs.

When the filter function return false, no logs will be sent to the transformer.

§Warning

Do not perform heavy workloads, it can block other logs!

Source

pub fn transformer<F>(self, transformer: F) -> Self
where F: Fn(LogItem) -> LogItem + Send + 'static,

Customize the transformer. Change the logs on the fly.

After this function, LogItem will be sent to the corresponding writer.

§Warning

Do not perform heavy workloads, it can block other logs!

Source

pub fn start(self) -> (Logger, LoggerGuard)

Start logger. This method will spawn a new thread to print the log.

You should call this method only once for the entire program. For FFI library, you need to call this method once in the library code and keep the return values alive. Then customize the Self::handler and send output back to the main program.

Auto Trait Implementations§

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T