quantum_log 0.3.2

High-performance asynchronous logging framework based on tracing ecosystem
Documentation
[package]
name = "quantum_log"
version = "0.3.2"
edition = "2021"
authors = ["Kirky.X"]
description = "High-performance asynchronous logging framework based on tracing ecosystem"
license = "Apache-2.0"
repository = "https://github.com/Kirky-X/quantum_log"
keywords = ["logging", "tracing", "async", "performance"]
categories = ["development-tools::debugging"]
exclude = [
  ".github/",
  "test/*.exe",
  "test/*.pdb",
  "Cargo.toml.orig"
]

[dependencies]
# Core tracing ecosystem
tracing = "0.1"
tracing-core = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "registry", "fmt"] }
tracing-appender = "0.2"

# Async runtime
 tokio = { version = "1.45", features = ["full"] }
 tokio-util = { version = "0.7", features = ["codec", "time"], optional = true }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"

# Configuration
config = "0.15"

# CSV support
csv = "1.3"

# Database support (optional)
diesel = { version = "2.2", features = ["chrono", "r2d2"], optional = true }
r2d2 = { version = "0.8", optional = true }
mysqlclient-sys = { version = "0.4", features = ["bundled"], optional = true }
libsqlite3-sys = { version = "0.30", features = ["bundled"], optional = true }
pq-sys = { version = "0.6", features = ["bundled"], optional = true }
openssl-sys = { version = "0.9", features = ["vendored"], optional = true }

# Terminal colors
colored = "3.0"

# TLS support (optional)
tokio-rustls = { version = "0.26", optional = true }
rustls = { version = "0.23", optional = true }
rustls-pemfile = { version = "2.1", optional = true }
webpki-roots = { version = "0.26", optional = true }
ring = { version = "0.17", optional = true }
secrecy = { version = "0.8", optional = true }
hex = "0.4"
# tokio-util dependency moved above to avoid duplication

# Time handling
chrono = { version = "0.4", features = ["serde"] }

# Error handling
thiserror = "2.0.12"
anyhow = "1.0"

# Async traits
async-trait = "0.1"
futures = "0.3"

# Global state
once_cell = "1.21"

# System info
hostname = "0.4"

# TTL cache for file separation
moka = { version = "0.12", features = ["future"] }

# Dynamic library loading for MPI
libloading = { version = "0.8", optional = true }

# HTTP client for InfluxDB
reqwest = { version = "0.12", features = ["json"] }
base64 = "0.22"

# Async trait support

# Platform-specific dependencies
[target.'cfg(unix)'.dependencies]
libc = "0.2"

[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["processthreadsapi", "winbase", "sysinfoapi"] }

# Development dependencies
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.20"
criterion = { version = "0.6", features = ["html_reports"] }
proptest = "1.7"

# Build script for MPI FFI
[build-dependencies]
cc = "1.2"
pkg-config = "0.3"
chrono = "0.4"

[profile.release]
lto = true
codegen-units = 1
panic = "abort"

[profile.bench]
inherits = "release"
debug = true

[features]
default = ["tokio-util"]
db = ["diesel", "r2d2"]
mpi = []
dynamic_mpi = ["libloading"]
tls = ["tokio-rustls", "rustls", "rustls-pemfile", "webpki-roots", "ring", "secrecy", "tokio-util"]
sqlite = ["db", "diesel/sqlite", "libsqlite3-sys/bundled"]
postgres = ["db", "diesel/postgres", "pq-sys/bundled", "openssl-sys/vendored"]
mysql = ["db", "diesel/mysql", "mysqlclient-sys/bundled", "openssl-sys/vendored"]
influxdb = []
# test_examples binary moved to examples crate