[][src]Struct cursive_flexi_logger_view::FlexiLoggerView

pub struct FlexiLoggerView;

The FlexiLoggerView displays log messages from the cursive_flexi_logger log target. It is safe to create multiple instances of this struct.

Create a plain FlexiLoggerView

use cursive::Cursive;
use cursive_flexi_logger_view::FlexiLoggerView;
use flexi_logger::{Logger, LogTarget};

fn main() {
    // we need to initialize cursive first, as the cursive-flexi-logger
    // needs a cursive callback sink to notify cursive about screen refreshs
    // when a new log message arrives
    let mut siv = Cursive::default();

    Logger::with_env_or_str("trace")
        .log_target(LogTarget::FileAndWriter(
            cursive_flexi_logger_view::cursive_flexi_logger(&siv),
        ))
        .directory("logs")
        .suppress_timestamp()
        .format(flexi_logger::colored_with_thread)
        .start()
        .expect("failed to initialize logger!");

    siv.add_layer(FlexiLoggerView); // add a plain flexi-logger view

    log::info!("test log message");
    // siv.run();
}

Create a scrollable FlexiLoggerView

use cursive::Cursive;
use cursive_flexi_logger_view::FlexiLoggerView;
use flexi_logger::{Logger, LogTarget};

fn main() {
    // we need to initialize cursive first, as the cursive-flexi-logger
    // needs a cursive callback sink to notify cursive about screen refreshs
    // when a new log message arrives
    let mut siv = Cursive::default();

    Logger::with_env_or_str("trace")
        .log_target(LogTarget::FileAndWriter(
            cursive_flexi_logger_view::cursive_flexi_logger(&siv),
        ))
        .directory("logs")
        .suppress_timestamp()
        .format(flexi_logger::colored_with_thread)
        .start()
        .expect("failed to initialize logger!");

    siv.add_layer(FlexiLoggerView::scrollable()); // add a scrollable flexi-logger view

    log::info!("test log message");
    // siv.run();
}

Methods

impl FlexiLoggerView[src]

pub fn scrollable() -> ScrollView<Self>[src]

Create a new FlexiLoggerView which is wrapped in a ScrollView.

Trait Implementations

impl View for FlexiLoggerView[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Identifiable for T where
    T: View
[src]

impl<T> Boxable for T where
    T: View
[src]

impl<T> With for T[src]

impl<T> View for T where
    T: ViewWrapper
[src]

impl<T> Scrollable for T where
    T: View
[src]

impl<T> Finder for T where
    T: View
[src]

impl<T> AnyView for T where
    T: View
[src]

fn as_any(&self) -> &(dyn Any + 'static)[src]

Downcast self to a Any.

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]

Downcast self to a mutable Any.

impl<T> IntoBoxedView for T where
    T: View
[src]

impl<T> Erased for T