Files
reverse-proxy/Cargo.toml
glm-5.1 36319db10e Implement structured logging with tracing, dual output, and fail2ban-compatible format
- Add logging::init() with dual output (file + stdout) via tracing-subscriber Layer composition
- Support configurable log level via LoggingConfig.level and JSON/text format via LoggingConfig.format
- Create log file and parent directories when log_file_path is configured
- Add KvVisitor for custom key=value event field formatting
- Add log_request!, log_rate_limit!, log_upstream_error!, log_config_reload! macros
  with REQUEST, RATE_LIMIT, UPSTREAM_ERROR, CONFIG_RELOAD prefixes
- Add format_event_fields() for extracting structured fields from tracing events
- Add tracing-subscriber env-filter and json features to Cargo.toml
- Add unit tests for KvVisitor formatting, log macros, and init function
- Apply cargo fmt to existing tls/config.rs tests
2026-06-11 12:47:19 +00:00

40 lines
964 B
TOML

[package]
name = "reverse-proxy"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
[lib]
name = "reverse_proxy"
path = "src/lib.rs"
[[bin]]
name = "reverse-proxy"
path = "src/main.rs"
[dependencies]
axum = "=0.8.9"
tokio = { version = "=1.45.1", features = ["full"] }
hyper = "=1.6.0"
tower = "=0.5.2"
rustls = { version = "=0.23.28", features = ["aws_lc_rs"] }
tokio-rustls = "=0.26.2"
rustls-acme = { version = "=0.12.1", features = ["aws-lc-rs"] }
serde = { version = "=1.0.228", features = ["derive"] }
toml = "=0.8.23"
arc-swap = "=1.7.1"
tracing = "=0.1.41"
tracing-subscriber = { version = "=0.3.19", features = ["env-filter", "json"] }
rustls-pemfile = "=2.2.0"
rustls-pki-types = "=1.12.0"
clap = { version = "=4.6.1", features = ["derive"] }
signal-hook = "=0.3.18"
anyhow = "=1.0.102"
thiserror = "=2.0.18"
futures = "=0.3.31"
[dev-dependencies]
rcgen = "=0.13"
reqwest = { version = "=0.12", features = ["json"] }
tempfile = "=3.20"