#cursive-views #cursive #logging #debug #terminal


An alternative debug view for gyscos/cursive using emabee/flexi_logger

7 releases (4 breaking)

0.5.0 Jan 15, 2022
0.4.0 Mar 3, 2021
0.3.0 Aug 8, 2020
0.2.1 Mar 20, 2020
0.1.1 Sep 9, 2019

#103 in Debugging

Download history 92/week @ 2022-05-30 156/week @ 2022-06-06 40/week @ 2022-06-13 74/week @ 2022-06-20 136/week @ 2022-06-27 13/week @ 2022-07-04 41/week @ 2022-07-11 14/week @ 2022-07-18 19/week @ 2022-07-25 15/week @ 2022-08-01 15/week @ 2022-08-08 10/week @ 2022-08-15 23/week @ 2022-08-22 5/week @ 2022-08-29 28/week @ 2022-09-05 17/week @ 2022-09-12

74 downloads per month
Used in regview


262 lines

Welcome to cursive-flexi-logger-view 👋

stable build nightly build crates.io Docs.rs GitHub PRs Welcome
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.

How does it look like? demo terminalizer

Expand to view flexi-logger-view demo


Simply add to your Cargo.toml

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;

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();

        .expect("Could not create Logger from environment :(")
        .expect("failed to initialize logger!");

    siv.add_layer(FlexiLoggerView::scrollable()); // omit `scrollable` to remove scrollbars

    log::info!("test log message");

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.

Development cargo test

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.


Fin Christensen

:octocat: @fin-ger
🐘 @fin_ger@weirder.earth
🐦 @fin_ger_github

Johannes Wünsche

:octocat: @jwuensche
🐘 @fredowald@mastodon.social
🐦 @Fredowald

Show your support

Give a ⭐ if this project helped you!


~86K SLoC