| Crates.io | cursive-flexi-logger-view |
| lib.rs | cursive-flexi-logger-view |
| version | 0.6.0 |
| created_at | 2019-09-04 12:56:24.299002+00 |
| updated_at | 2024-08-12 16:50:10.481731+00 |
| description | An alternative debug view for gyscos/cursive using emabee/flexi_logger |
| homepage | |
| repository | https://github.com/deinstapel/cursive-flexi-logger-view |
| max_upload_size | |
| id | 162113 |
| size | 101,635 |
An alternative debug view for
gyscos/cursive
using
emabee/flexi_logger
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.
demo
Simply add to your Cargo.toml
[dependencies]
cursive-flexi-logger-view = "^0"
FlexiLoggerViewTo 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;
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::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.
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.
Just run
$ cargo test
to execute all available tests.
shields.io endpoints are generated inside the ./target/shields folder. They are used in this README.
Fin Christensen
:octocat:
@fin-ger
:elephant:@fin_ger@weirder.earth
:bird:@fin_ger_github
Johannes Wünsche
:octocat:
@jwuensche
:elephant:@fredowald@mastodon.social
:bird:@Fredowald
Give a :star: if this project helped you!