[package]
edition = "2021"
rust-version = "1.88.0"
name = "stratify"
version = "1.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Layered configuration and structured logging for Rust services: pluggable sources, priority merging, typed access, and a tracing facade"
documentation = "https://docs.rs/stratify"
readme = "README.md"
keywords = [
"config",
"configuration",
"logging",
"layered",
"tracing",
]
categories = [
"config",
"development-tools::debugging",
]
license = "MIT"
repository = "https://github.com/LogicOcean/stratify"
[package.metadata.docs.rs]
all-features = true
[features]
appinsights = [
"logging",
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-application-insights",
"dep:opentelemetry-appender-tracing",
"dep:tracing-opentelemetry",
"dep:opentelemetry-http",
"reqwest/blocking",
"dep:reqwest",
]
azure = [
"dep:azure_core",
"dep:reqwest",
]
compression = [
"logging",
"dep:flate2",
]
default = []
logging = [
"dep:tracing-subscriber",
"dep:tracing-appender",
"dep:time",
]
[lib]
name = "stratify"
path = "src/lib.rs"
[[example]]
name = "azure"
path = "examples/azure.rs"
required-features = ["azure"]
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "custom_source"
path = "examples/custom_source.rs"
[[example]]
name = "file_rotation"
path = "examples/file_rotation.rs"
required-features = ["logging"]
[[example]]
name = "filter_reload"
path = "examples/filter_reload.rs"
required-features = ["logging"]
[[example]]
name = "logging_basic"
path = "examples/logging_basic.rs"
required-features = ["logging"]
[[example]]
name = "precedence"
path = "examples/precedence.rs"
[[example]]
name = "typed"
path = "examples/typed.rs"
[[test]]
name = "bootstrap_init"
path = "tests/bootstrap_init.rs"
[[test]]
name = "bootstrap_rust_log"
path = "tests/bootstrap_rust_log.rs"
[[test]]
name = "c_config_construction"
path = "tests/c_config_construction.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "stream_a_appinsights"
path = "tests/stream_a_appinsights.rs"
[[test]]
name = "stream_a_custom_layer"
path = "tests/stream_a_custom_layer.rs"
[[test]]
name = "stream_a_errors"
path = "tests/stream_a_errors.rs"
[[test]]
name = "stream_a_file_format"
path = "tests/stream_a_file_format.rs"
[[test]]
name = "stream_a_flush"
path = "tests/stream_a_flush.rs"
[[test]]
name = "stream_a_gating"
path = "tests/stream_a_gating.rs"
[[test]]
name = "stream_a_init_lifecycle"
path = "tests/stream_a_init_lifecycle.rs"
[[test]]
name = "stream_a_init_rollback"
path = "tests/stream_a_init_rollback.rs"
[[test]]
name = "stream_a_line_format"
path = "tests/stream_a_line_format.rs"
[[test]]
name = "stream_a_production"
path = "tests/stream_a_production.rs"
[[test]]
name = "stream_a_public_api"
path = "tests/stream_a_public_api.rs"
[[test]]
name = "stream_a_sampling"
path = "tests/stream_a_sampling.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.azure_core]
version = "1"
optional = true
[dependencies.dotenvy]
version = "0.15"
[dependencies.flate2]
version = "1"
optional = true
[dependencies.opentelemetry]
version = "0.32"
optional = true
[dependencies.opentelemetry-appender-tracing]
version = "0.32"
optional = true
[dependencies.opentelemetry-application-insights]
version = "0.45"
features = [
"logs",
"trace",
]
optional = true
default-features = false
[dependencies.opentelemetry-http]
version = "0.32"
features = ["reqwest-blocking"]
optional = true
[dependencies.opentelemetry_sdk]
version = "0.32"
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_norway]
version = "0.9"
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = [
"formatting",
"local-offset",
"macros",
]
optional = true
[dependencies.toml]
version = "1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
optional = true
[dependencies.tracing-opentelemetry]
version = "0.33"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"json",
"time",
]
optional = true
[dev-dependencies.azure_identity]
version = "1"
[dev-dependencies.filetime]
version = "0.2"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
[profile.dev]
debug = "line-tables-only"
split-debuginfo = "unpacked"
[profile.test]
debug = "line-tables-only"
split-debuginfo = "unpacked"