tailspin API参考手册:完整的库函数和类型说明

tailspin API参考手册:完整的库函数和类型说明

【免费下载链接】tailspin 🌀 A log file highlighter 【免费下载链接】tailspin 项目地址: https://gitcode.com/gh_mirrors/ta/tailspin

tailspin 是一个功能强大的日志文件高亮显示工具,不仅提供了命令行界面,还作为 Rust 库公开了完整的 API 接口。本文将详细介绍 tailspin 库的核心函数、类型定义以及配置选项,帮助开发者更好地集成和使用这个工具。🚀

核心API概览

tailspin 库的核心是 Highlighter 类型,它允许你以编程方式应用与 CLI 相同的模式驱动高亮显示功能。通过 HighlighterBuilder 可以配置高亮器,或者使用 Highlighter::default() 获取合理的默认配置。

主要模块结构

  • core - 核心高亮引擎实现
  • config - 配置支持模块,用于自定义高亮主题和正则规则
  • style - ANSI 样式和颜色定义

核心类型详解

Highlighter 结构体

Highlighter 是 tailspin 库的主要接口,负责应用所有配置的高亮规则到输入文本上。

主要方法:

  • apply(&self, input: &str) -> String - 对输入字符串应用高亮并返回结果
  • builder() -> HighlighterBuilder - 创建高亮器构建器

HighlighterBuilder 构建器

用于构建和配置 Highlighter 实例,支持各种高亮组件的自定义设置。

配置方法示例:

  • with_number_highlighter(config: NumberConfig)
  • with_quote_highlighter(config: QuotesConfig)
  • with_uuid_highlighter(config: UuidConfig)

样式系统

样式示例

Style 结构体:

  • fg: Option<Color> - 前景色
  • bg: Option<Color> - 背景色
  • bold: bool - 粗体
  • italic: bool - 斜体
  • underline: bool - 下划线

Color 枚举: 支持所有标准 ANSI 颜色,包括黑色、红色、绿色、黄色、蓝色、洋红色、青色、白色等。

配置模块详解

数字高亮配置

数字高亮

NumberConfig {
    style: Style {
        fg: Some(Color::Cyan),
        ..Style::default()
    }
}

引号高亮配置

引号高亮

QuotesConfig {
    quotes_token: '"',
    style: Style {
        fg: Some(Color::Yellow),
        ..Style::default()
    }
}

UUID 高亮配置

UUID高亮

UuidConfig::default()

高级用法示例

自定义高亮器构建

use tailspin::config::*;
use tailspin::Highlighter;
use tailspin::style::{Color, Style};

let mut builder = Highlighter::builder();

builder
    .with_number_highlighter(NumberConfig {
        style: Style {
            fg: Some(Color::Cyan),
            ..Style::default()
        },
    })
    .with_quote_highlighter(QuotesConfig {
        quotes_token: '"',
        style: Style {
            fg: Some(Color::Yellow),
            ..Style::default()
        },
    })
    .with_uuid_highlighter(UuidConfig::default());
    
let highlighter = match builder.build() {
    Ok(h) => h,
    Err(_) => panic!("Failed to build highlighter"),
};

应用高亮到文本

let input = "Hello 42 world";
let output = highlighter.apply(input);

// 输出包含 ANSI 转义序列的高亮文本
assert_eq!(output, "Hello \x1b[36m42\x1b[0m world");

错误处理

HighlighterBuilder::build() 方法可能失败,主要原因是内部正则表达式编译失败。建议在生产环境中妥善处理这些错误。

Error 类型

  • 包含构建过程中可能发生的各种错误信息
  • 支持详细的错误诊断和报告

集成最佳实践

在应用程序中使用

tailspin 库特别适合需要实时日志处理的应用程序,如:

  • 监控系统
  • 开发工具
  • 调试工具

性能考虑

  • 高亮器构建过程相对较重,建议在应用程序启动时完成
  • 应用高亮到文本的操作是轻量级的,适合频繁调用

依赖关系

tailspin 库依赖于多个高质量的 Rust 库:

  • regex - 正则表达式支持
  • nu-ansi-term - ANSI 终端颜色和样式
  • tokio - 异步运行时支持

通过这个完整的 API 参考手册,开发者可以充分利用 tailspin 的强大功能,在自己的 Rust 项目中集成专业的日志高亮显示能力。🎯

【免费下载链接】tailspin 🌀 A log file highlighter 【免费下载链接】tailspin 项目地址: https://gitcode.com/gh_mirrors/ta/tailspin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值