# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "log"
version = "0.4.11"
authors = ["The Rust Project Developers"]
build = "build.rs"
exclude = ["rfcs/**/*", "/.travis.yml", "/appveyor.yml"]
description = "A lightweight logging facade for Rust\n"
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_sval"]

[[test]]
name = "filters"
harness = false

[[test]]
name = "macros"
harness = true
[dependencies.cfg-if]
version = "0.1.2"

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

[dependencies.sval]
version = "0.5.2"
optional = true
default-features = false
[dev-dependencies.serde_test]
version = "1.0"

[dev-dependencies.sval]
version = "0.5.2"
features = ["test"]

[features]
kv_unstable = []
kv_unstable_sval = ["kv_unstable", "sval/fmt"]
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 = []
