mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
Our logging library, `tracing` supports structured logging. This is useful because it preserves the more than just the string representation of a value and thus allows the active logging backend(s) to capture more information for a particular value. In the case of errors, this is especially useful because it allows us to capture the sources of a particular error. Unfortunately, recording an error as a tracing value is a bit cumbersome because `tracing::Value` is only implemented for `&dyn std::error::Error`. Casting an error to this is quite verbose. To make it easier, we introduce two utility functions in `firezone-logging`: - `std_dyn_err` - `anyhow_dyn_err` Tracking errors as correct `tracing::Value`s will be especially helpful once we enable Sentry's `tracing` integration: https://docs.rs/sentry-tracing/latest/sentry_tracing/#tracking-errors
56 lines
1.6 KiB
TOML
56 lines
1.6 KiB
TOML
[package]
|
|
name = "firezone-relay"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.82"
|
|
backoff = "0.4"
|
|
base64 = "0.22.1"
|
|
bytecodec = "0.4.15"
|
|
bytes = "1.7.1"
|
|
clap = { version = "4.5.19", features = ["derive", "env"] }
|
|
derive_more = { version = "1.0.0", features = ["from"] }
|
|
firezone-bin-shared = { workspace = true }
|
|
firezone-logging = { workspace = true }
|
|
futures = "0.3.29"
|
|
hex = "0.4.3"
|
|
hex-display = "0.3.0"
|
|
mio = { version = "1.0.1", features = ["net"] }
|
|
once_cell = "1.17.1"
|
|
opentelemetry = { version = "0.24.0", features = ["metrics"] }
|
|
opentelemetry-otlp = { version = "0.17.0", features = ["metrics"] }
|
|
opentelemetry_sdk = { version = "0.24.1", features = ["rt-tokio"] }
|
|
phoenix-channel = { path = "../phoenix-channel" }
|
|
proptest = { version = "1", optional = true }
|
|
rand = "0.8.5"
|
|
rustls = { workspace = true }
|
|
secrecy = { workspace = true }
|
|
serde = { version = "1.0.210", features = ["derive"] }
|
|
sha2 = "0.10.8"
|
|
smallvec = "1.13.2"
|
|
socket-factory = { workspace = true }
|
|
socket2 = { workspace = true }
|
|
stun_codec = "0.3.4"
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "net", "time", "signal"] }
|
|
tracing = { workspace = true, features = ["log"] }
|
|
tracing-core = "0.1.31"
|
|
tracing-opentelemetry = "0.25.0"
|
|
tracing-stackdriver = { version = "0.11.0", features = ["opentelemetry"] }
|
|
tracing-subscriber = { workspace = true, features = ["env-filter", "json", "fmt"] }
|
|
trackable = "1.3.0"
|
|
url = "2.5.2"
|
|
uuid = { version = "1.10.0", features = ["v4"] }
|
|
|
|
[dev-dependencies]
|
|
difference = "2.0.0"
|
|
env_logger = "0.11.3"
|
|
test-strategy = "0.3.1"
|
|
|
|
[[test]]
|
|
name = "regression"
|
|
required-features = ["proptest"]
|
|
|
|
[lints]
|
|
workspace = true
|