#cursive #logging #terminal #cursive-views #env-var #config-file

cursive-flexi-logger-view

使用emabee/flexi_logger为gyscos/cursive提供的替代调试视图

8个版本 (5个破坏性更新)

0.6.0 2024年8月12日
0.5.0 2022年1月15日
0.4.0 2021年3月3日
0.3.0 2020年8月8日
0.1.1 2019年9月9日

#204调试

Download history 43/week @ 2024-04-29 13/week @ 2024-05-20 8/week @ 2024-06-03 10/week @ 2024-06-10 2/week @ 2024-06-17 14/week @ 2024-07-01 18/week @ 2024-07-22 121/week @ 2024-08-12

每月139次下载
用于 regview

BSD-3-Clause

72KB
284

欢迎使用cursive-flexi-logger-view 👋

stable build nightly build crates.io Docs.rs GitHub PRs Welcome
使用emabee/flexi_logger为gyscos/cursive提供的替代调试视图


本项目为gyscos/cursive提供了一个新的调试视图,使用了emabee/flexi_logger crate。这使得FlexiLoggerView能够尊重RUST_LOG环境变量以及flexi_logger配置文件。查看下面的demo以了解其外观。

外观如何? demo terminalizer

展开查看 flexi-logger-view demo

用法

只需将其添加到您的Cargo.toml

[dependencies]
cursive-flexi-logger-view = "^0"

使用FlexiLoggerView

要创建一个FlexiLoggerView,您首先必须在flexi_logger中将cursive_flexi_logger注册为Writer。在flexi_logger启动后,您可以创建一个FlexiLoggerView实例并将其添加到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();
}

请参阅文档以获取API的详细说明。

故障排除

如果您发现任何错误/意外行为或您有关于未来更改的建议,请打开一个问题,描述当前行为和您期望的行为。

开发 cargo test

运行测试

只需运行

$ cargo test

执行所有可用的测试。

shields.io 端点

shields.io 端点生成在 ./target/shields 文件夹内。它们在此 README 中使用。

作者

Fin Christensen

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


Johannes Wünsche

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

展示你的支持

如果此项目对你有帮助,请给一个 ⭐!

依赖项

~6–13MB
~142K SLoC