freeswitch-log-parser 0.12.0

Parser for FreeSWITCH log files — handles compressed .xz files, multi-line dumps, truncated buffers, and stateful UUID/timestamp tracking
Documentation
[package]
name = "freeswitch-log-parser"
version = "0.12.0"
edition = "2021"
license = "LGPL-2.1-or-later"
authors = ["Jérôme Poulin <jeromepoulin@gmail.com>"]
description = "Parser for FreeSWITCH log files — handles compressed .xz files, multi-line dumps, truncated buffers, and stateful UUID/timestamp tracking"
repository = "https://github.com/ticpu/freeswitch-log-parser"
homepage = "https://github.com/ticpu/freeswitch-log-parser"
keywords = ["freeswitch", "log", "parser", "voip", "telephony"]
categories = ["parser-implementations", "network-programming"]
documentation = "https://docs.rs/freeswitch-log-parser"
exclude = ["packaging/", "Makefile", ".gitleaks.toml", "tests/fixtures/", "tests/production_log.rs", "docs/"]

[lib]
name = "freeswitch_log_parser"

[package.metadata.docs.rs]
all-features = true

[dependencies]
# Three components only because Cargo needs the full prerelease to opt in.
freeswitch-types = { version = "1.5.0-beta.5", default-features = false, features = ["esl"] }
aho-corasick = { version = "1", optional = true }
clap = { version = "4", features = ["derive", "env"], optional = true }
clap_complete = { version = "4", optional = true }
xz2 = { version = "0.1", optional = true }
jiff = { version = "0.2", optional = true }
rayon = { version = "1", optional = true }
regex = { version = "1", optional = true }
log = { version = "0.4", optional = true }
env_logger = { version = "0.11", optional = true }
ratatui = { version = "0.30", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_yml = { version = "0.0.13", optional = true }

[[bin]]
name = "fslog"
path = "src/bin/fslog/main.rs"
required-features = ["cli"]

[features]
sdp = ["freeswitch-types/sdp"]
cli = [
    "sdp",
    "dep:aho-corasick",
    "dep:clap",
    "dep:clap_complete",
    "dep:env_logger",
    "dep:jiff",
    "dep:log",
    "dep:rayon",
    "dep:regex",
    "dep:xz2",
]
tui = ["cli", "dep:ratatui", "dep:serde", "dep:serde_yml"]

[dev-dependencies]
xz2 = "0.1"