# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
rust-version = "1.49.0"
name = "tracing"
version = "0.1.37"
authors = [
    "Eliza Weisman <eliza@buoyant.io>",
    "Tokio Contributors <team@tokio.rs>",
]
description = """
Application-level tracing for Rust.
"""
homepage = "https://tokio.rs"
readme = "README.md"
keywords = [
    "logging",
    "tracing",
    "metrics",
    "async",
]
categories = [
    "development-tools::debugging",
    "development-tools::profiling",
    "asynchronous",
    "no-std",
]
license = "MIT"
repository = "https://github.com/tokio-rs/tracing"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--cfg",
    "tracing_unstable",
]
rustc-args = [
    "--cfg",
    "tracing_unstable",
]

[[bench]]
name = "baseline"
harness = false

[[bench]]
name = "dispatch_get_clone"
harness = false

[[bench]]
name = "dispatch_get_ref"
harness = false

[[bench]]
name = "empty_span"
harness = false

[[bench]]
name = "enter_span"
harness = false

[[bench]]
name = "event"
harness = false

[[bench]]
name = "span_fields"
harness = false

[[bench]]
name = "span_no_fields"
harness = false

[[bench]]
name = "span_repeated"
harness = false

[dependencies.cfg-if]
version = "1.0.0"

[dependencies.log]
version = "0.4.17"
optional = true

[dependencies.pin-project-lite]
version = "0.2.9"

[dependencies.tracing-attributes]
version = "0.1.23"
optional = true

[dependencies.tracing-core]
version = "0.1.30"
default-features = false

[dev-dependencies.criterion]
version = "0.3.6"
default-features = false

[dev-dependencies.log]
version = "0.4.17"

[features]
async-await = []
attributes = ["tracing-attributes"]
default = [
    "std",
    "attributes",
]
log-always = ["log"]
max_level_debug = []
max_level_error = []
max_level_info = []
max_level_off = []
max_level_trace = []
max_level_warn = []
release_max_level_debug = []
release_max_level_error = []
release_max_level_info = []
release_max_level_off = []
release_max_level_trace = []
release_max_level_warn = []
std = ["tracing-core/std"]
valuable = ["tracing-core/valuable"]

[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test]
version = "^0.3"

[badges.maintenance]
status = "actively-developed"
