[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]
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"