Skip to main content

ClientLogFormatter

Trait ClientLogFormatter 

Source
pub trait ClientLogFormatter:
    Send
    + Sync
    + 'static {
    type Output: Display + Send + Sync + 'static;

    // Required method
    fn format(&self, conn: &Conn, color: bool) -> Self::Output;
}
Available on crate feature client only.
Expand description

The interface to format a client::Conn as a Display-able output.

Mirrors the server-side LogFormatter trait, but takes a trillium_client::Conn rather than a trillium::Conn.

§Implementations

ClientLogFormatter is implemented for:

  • all 2-26-arity tuples of ClientLogFormatters, output concatenated with no separator
  • &'static str and Arc<str>, for interspersing static text
  • Fn(&Conn, bool) -> impl Display, the most common way to write a custom formatter
use std::borrow::Cow;
use trillium_client::Conn;
use trillium_logger::client::{ClientLogger, formatters};

fn marker(_conn: &Conn, _color: bool) -> Cow<'static, str> {
    "[client] ".into()
}

ClientLogger::new().with_formatter((marker, formatters::method, " ", formatters::url));

Required Associated Types§

Source

type Output: Display + Send + Sync + 'static

The display type for this formatter.

For a simple formatter, this will likely be a String, or even better, a lightweight type that implements Display.

Required Methods§

Source

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Extract Output from this Conn.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ClientLogFormatter for &'static str

Source§

type Output = &'static str

Source§

fn format(&self, _conn: &Conn, _color: bool) -> Self::Output

Source§

impl ClientLogFormatter for Arc<str>

Source§

type Output = Arc<str>

Source§

fn format(&self, _conn: &Conn, _color: bool) -> Self::Output

Source§

impl ClientLogFormatter for ColoredString

Source§

type Output = String

Source§

fn format(&self, _conn: &Conn, color: bool) -> Self::Output

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L, M)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J, K)

Source§

impl<A, B, C, D, E, F, G, H, I, J> ClientLogFormatter for (A, B, C, D, E, F, G, H, I, J)

Source§

impl<A, B, C, D, E, F, G, H, I> ClientLogFormatter for (A, B, C, D, E, F, G, H, I)

Source§

impl<A, B, C, D, E, F, G, H> ClientLogFormatter for (A, B, C, D, E, F, G, H)

Source§

impl<A, B, C, D, E, F, G> ClientLogFormatter for (A, B, C, D, E, F, G)

Source§

impl<A, B, C, D, E, F> ClientLogFormatter for (A, B, C, D, E, F)

Source§

type Output = TupleOutput<(<A as ClientLogFormatter>::Output, <B as ClientLogFormatter>::Output, <C as ClientLogFormatter>::Output, <D as ClientLogFormatter>::Output, <E as ClientLogFormatter>::Output, <F as ClientLogFormatter>::Output)>

Source§

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Source§

impl<A, B, C, D, E> ClientLogFormatter for (A, B, C, D, E)

Source§

type Output = TupleOutput<(<A as ClientLogFormatter>::Output, <B as ClientLogFormatter>::Output, <C as ClientLogFormatter>::Output, <D as ClientLogFormatter>::Output, <E as ClientLogFormatter>::Output)>

Source§

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Source§

impl<A, B, C, D> ClientLogFormatter for (A, B, C, D)

Source§

type Output = TupleOutput<(<A as ClientLogFormatter>::Output, <B as ClientLogFormatter>::Output, <C as ClientLogFormatter>::Output, <D as ClientLogFormatter>::Output)>

Source§

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Source§

impl<A, B, C> ClientLogFormatter for (A, B, C)

Source§

type Output = TupleOutput<(<A as ClientLogFormatter>::Output, <B as ClientLogFormatter>::Output, <C as ClientLogFormatter>::Output)>

Source§

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Source§

impl<A, B> ClientLogFormatter for (A, B)

Source§

type Output = TupleOutput<(<A as ClientLogFormatter>::Output, <B as ClientLogFormatter>::Output)>

Source§

fn format(&self, conn: &Conn, color: bool) -> Self::Output

Implementors§

Source§

impl<F, O> ClientLogFormatter for F
where F: Fn(&Conn, bool) -> O + Send + Sync + 'static, O: Display + Send + Sync + 'static,