You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project provides a new debug view for gyscos/cursive using the emabee/flexi_logger crate. This enables the FlexiLoggerView to respect the RUST_LOG environment variable as well as the flexi_logger configuration file. Have a look at the demo below to see how it looks.
How does it look like? demo
Expand to view
Usage
Simply add to your Cargo.toml
[dependencies]
cursive-flexi-logger-view = "^0"
Using the FlexiLoggerView
To create a FlexiLoggerView you first have to register the cursive_flexi_logger as a Writer in flexi_logger. After the flexi_logger has started, you may create a FlexiLoggerView instance and add it to cursive.
use cursive::Cursive;use cursive_flexi_logger_view::FlexiLoggerView;use flexi_logger::Logger;fnmain(){// 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 arrivesletmut siv = Cursive::default();Logger::try_with_env_or_str("trace").expect("Could not create Logger from environment :(").log_to_file_and_writer(
flexi_logger::FileSpec::default().directory("logs").suppress_timestamp(),
cursive_flexi_logger_view::cursive_flexi_logger(&siv)).format(flexi_logger::colored_with_thread).start().expect("failed to initialize logger!");
siv.add_layer(FlexiLoggerView::scrollable());// omit `scrollable` to remove scrollbars
log::info!("test log message");
siv.run();}
Look into the documentation for a detailed explanation on the API.
Troubleshooting
If you find any bugs/unexpected behaviour or you have a proposition for future changes open an issue describing the current behaviour and what you expected.
Development
Running the tests
Just run
$ cargo test
to execute all available tests.
shields.io endpoints
shields.io endpoints are generated inside the ./target/shields folder. They are used in this README.