[package]
edition = "2024"
name = "crypsol_logger"
version = "0.3.5"
authors = ["Zuhair Thabit<admin@crypsol.tech>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Structured asynchronous logger for Rust services with CloudWatch, HTTP (Loki / Elasticsearch / custom), file, and console backends."
documentation = "https://docs.rs/crypsol_logger"
readme = "README.md"
keywords = [
"logging",
"aws",
"cloudwatch",
"loki",
"async",
]
categories = [
"development-tools::debugging",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/crypsol/crypsol_logger"
[package.metadata.docs.rs]
all-features = true
[features]
cloudwatch = [
"dep:aws-config",
"dep:aws-sdk-cloudwatchlogs",
"tokio/sync",
]
console = []
default = [
"console",
"file",
]
file = [
"tokio/fs",
"tokio/io-util",
]
http = [
"dep:reqwest",
"dep:base64",
]
[lib]
name = "crypsol_logger"
path = "src/lib.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[dependencies.aws-config]
version = "1.8.15"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-cloudwatchlogs]
version = "1.122.0"
features = ["behavior-version-latest"]
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.chrono]
version = "0.4.44"
[dependencies.colored]
version = "3.1.1"
[dependencies.env_logger]
version = "0.11.10"
[dependencies.log]
version = "0.4.29"
[dependencies.once_cell]
version = "1.21.4"
[dependencies.reqwest]
version = "0.13.2"
features = [
"rustls",
"json",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1.50.0"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tokio]
version = "1.50.0"
features = [
"rt",
"macros",
"test-util",
]