[−][src]Struct cursive_flexi_logger_view::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, CursiveExt}; 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::new()); // add a plain flexi-logger view log::info!("test log message"); // siv.run(); }
Create a scrollable FlexiLoggerView
use cursive::{Cursive, CursiveExt}; 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(); }
Fields
indent: boolImplementations
impl FlexiLoggerView[src]
pub fn scrollable() -> ScrollView<Self>[src]
Create a new FlexiLoggerView which is wrapped in a ScrollView.
pub fn new() -> Self[src]
Create a new FlexiLoggerView.
Trait Implementations
impl Indentable for FlexiLoggerView[src]
fn no_indent(self) -> Self[src]
Changes a FlexiLoggerView to not indent messages spanning multiple lines.
fn indent(self) -> Self[src]
Changes a FlexiLoggerView to indent messages spanning multiple lines.
impl View for FlexiLoggerView[src]
fn draw(&self, printer: &Printer)[src]
fn required_size(&mut self, constraint: Vec2) -> Vec2[src]
fn layout(&mut self, XY<usize>)[src]
fn needs_relayout(&self) -> bool[src]
fn on_event(&mut self, Event) -> EventResult[src]
fn call_on_any(
&mut self,
&Selector,
&'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)[src]
&mut self,
&Selector,
&'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
fn focus_view(&mut self, &Selector) -> Result<(), ()>[src]
fn take_focus(&mut self, source: Direction) -> bool[src]
fn important_area(&self, view_size: XY<usize>) -> Rect[src]
fn type_name(&self) -> &'static str[src]
Auto Trait Implementations
impl RefUnwindSafe for FlexiLoggerView
impl Send for FlexiLoggerView
impl Sync for FlexiLoggerView
impl Unpin for FlexiLoggerView
impl UnwindSafe for FlexiLoggerView
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> AnyView for T where
T: View, [src]
T: View,
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.
fn as_boxed_any(self: Box<T>) -> Box<dyn Any + 'static>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Erased for T
impl<T> Finder for T where
T: View, [src]
T: View,
fn call_on<V, F, R>(&mut self, sel: &Selector, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View, [src]
F: FnOnce(&mut V) -> R,
V: View,
fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View, [src]
F: FnOnce(&mut V) -> R,
V: View,
fn call_on_id<V, F, R>(&mut self, id: &str, callback: F) -> Option<R> where
F: FnOnce(&mut V) -> R,
V: View, [src]
F: FnOnce(&mut V) -> R,
V: View,
fn find_name<V>(
&mut self,
name: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View, [src]
&mut self,
name: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
fn find_id<V>(
&mut self,
id: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View, [src]
&mut self,
id: &str
) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>> where
V: View,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> IntoBoxedView for T where
T: View, [src]
T: View,
fn as_boxed_view(self) -> Box<dyn View + 'static>[src]
impl<T> Nameable for T where
T: View, [src]
T: View,
fn with_name<S>(self, name: S) -> NamedView<Self> where
S: Into<String>, [src]
S: Into<String>,
fn with_id<S>(self, id: S) -> NamedView<Self> where
S: Into<String>, [src]
S: Into<String>,
impl<T> Resizable for T where
T: View, [src]
T: View,
fn boxed(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>[src]
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>[src]
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn fixed_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>, [src]
S: Into<XY<usize>>,
fn fixed_width(self, width: usize) -> ResizedView<Self>[src]
fn fixed_height(self, height: usize) -> ResizedView<Self>[src]
fn full_screen(self) -> ResizedView<Self>[src]
fn full_width(self) -> ResizedView<Self>[src]
fn full_height(self) -> ResizedView<Self>[src]
fn max_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>, [src]
S: Into<XY<usize>>,
fn max_width(self, max_width: usize) -> ResizedView<Self>[src]
fn max_height(self, max_height: usize) -> ResizedView<Self>[src]
fn min_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>, [src]
S: Into<XY<usize>>,
fn min_width(self, min_width: usize) -> ResizedView<Self>[src]
fn min_height(self, min_height: usize) -> ResizedView<Self>[src]
impl<T> Scrollable for T where
T: View, [src]
T: View,
fn scrollable(self) -> ScrollView<Self>[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> View for T where
T: ViewWrapper, [src]
T: ViewWrapper,
fn draw(&self, printer: &Printer)[src]
fn required_size(&mut self, req: XY<usize>) -> XY<usize>[src]
fn on_event(&mut self, ch: Event) -> EventResult[src]
fn layout(&mut self, size: XY<usize>)[src]
fn take_focus(&mut self, source: Direction) -> bool[src]
fn call_on_any(
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)[src]
&mut self,
selector: &Selector,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)