# 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]
name = "log"
version = "0.4.17"
authors = ["The Rust Project Developers"]
build = "build.rs"
exclude = ["rfcs/**/*"]
description = """
A lightweight logging facade for Rust
"""
documentation = "https://docs.rs/log"
readme = "README.md"
keywords = ["logging"]
categories = ["development-tools::debugging"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/log"

[package.metadata.docs.rs]
features = [
    "std",
    "serde",
    "kv_unstable_std",
    "kv_unstable_sval",
    "kv_unstable_serde",
]

[[test]]
name = "filters"
path = "tests/filters.rs"
harness = false

[[test]]
name = "macros"
path = "tests/macros.rs"
harness = true

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

[dependencies.serde]
version = "1.0"
optional = true
default-features = false

[dependencies.sval]
version = "=1.0.0-alpha.5"
optional = true
default-features = false

[dependencies.value-bag]
version = "=1.0.0-alpha.9"
optional = true
default-features = false

[dev-dependencies.rustversion]
version = "1.0"

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.serde_test]
version = "1.0"

[dev-dependencies.sval]
version = "=1.0.0-alpha.5"
features = ["derive"]

[dev-dependencies.value-bag]
version = "=1.0.0-alpha.9"
features = ["test"]

[features]
kv_unstable = ["value-bag"]
kv_unstable_serde = [
    "kv_unstable_std",
    "value-bag/serde",
    "serde",
]
kv_unstable_std = [
    "std",
    "kv_unstable",
    "value-bag/error",
]
kv_unstable_sval = [
    "kv_unstable",
    "value-bag/sval",
    "sval",
]
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 = []
