# 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 = "2024"
rust-version = "1.85.0"
name = "logforth"
version = "0.28.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A versatile and extensible logging implementation."
homepage = "https://github.com/fast/logforth"
readme = "README.md"
keywords = [
    "logging",
    "log",
    "opentelemetry",
    "fastrace",
]
categories = ["development-tools::debugging"]
license = "Apache-2.0"
repository = "https://github.com/fast/logforth"
resolver = "2"

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

[features]
append-async = ["dep:logforth-append-async"]
append-fastrace = ["dep:logforth-append-fastrace"]
append-file = ["dep:logforth-append-file"]
append-journald = ["dep:logforth-append-journald"]
append-opentelemetry = ["dep:logforth-append-opentelemetry"]
append-syslog = ["dep:logforth-append-syslog"]
bridge-log = ["dep:logforth-bridge-log"]
default = []
diagnostic-fastrace = ["dep:logforth-diagnostic-fastrace"]
layout-google-cloud-logging = ["dep:logforth-layout-google-cloud-logging"]
layout-json = ["dep:logforth-layout-json"]
layout-logfmt = ["dep:logforth-layout-logfmt"]
layout-text = ["dep:logforth-layout-text"]
native-tls = ["logforth-append-syslog?/native-tls"]
rustls = ["logforth-append-syslog?/rustls"]
starter-log = [
    "bridge-log",
    "append-file",
    "layout-text",
    "layout-json",
]

[lib]
name = "logforth"
path = "src/lib.rs"

[[example]]
name = "asynchronous"
path = "examples/asynchronous.rs"
doc-scrape-examples = true
required-features = [
    "starter-log",
    "append-async",
]

[[example]]
name = "custom_layout_filter"
path = "examples/custom_layout_filter.rs"
doc-scrape-examples = true
required-features = ["starter-log"]

[[example]]
name = "fastrace"
path = "examples/fastrace.rs"
doc-scrape-examples = true
required-features = [
    "starter-log",
    "append-fastrace",
    "diagnostic-fastrace",
]

[[example]]
name = "google_cloud_logging"
path = "examples/google_cloud_logging.rs"
doc-scrape-examples = true
required-features = [
    "starter-log",
    "diagnostic-fastrace",
    "layout-google-cloud-logging",
]

[[example]]
name = "journald"
path = "examples/journald.rs"
doc-scrape-examples = true
required-features = [
    "starter-log",
    "append-journald",
]

[[example]]
name = "json_stdout"
path = "examples/json_stdout.rs"
doc-scrape-examples = true
required-features = ["starter-log"]

[[example]]
name = "log_with_logger"
path = "examples/log_with_logger.rs"
doc-scrape-examples = true
required-features = ["bridge-log"]

[[example]]
name = "multiple_dispatches"
path = "examples/multiple_dispatches.rs"
doc-scrape-examples = true
required-features = ["starter-log"]

[[example]]
name = "rolling_file"
path = "examples/rolling_file.rs"
doc-scrape-examples = true
required-features = ["starter-log"]

[[example]]
name = "simple_stdout"
path = "examples/simple_stdout.rs"
doc-scrape-examples = true
required-features = ["bridge-log"]

[[example]]
name = "single_file"
path = "examples/single_file.rs"
doc-scrape-examples = true
required-features = ["starter-log"]

[[example]]
name = "syslog"
path = "examples/syslog.rs"
doc-scrape-examples = true
required-features = [
    "starter-log",
    "append-syslog",
]

[[example]]
name = "testing"
path = "examples/testing.rs"
doc-scrape-examples = true
required-features = ["bridge-log"]

[[test]]
name = "global_async_sink"
path = "tests/global_async_sink.rs"
harness = false
required-features = [
    "starter-log",
    "append-async",
]

[[test]]
name = "recursive_logging"
path = "tests/recursive_logging.rs"

[dependencies.logforth-append-async]
version = "0.2.0"
optional = true

[dependencies.logforth-append-fastrace]
version = "0.2.0"
optional = true

[dependencies.logforth-append-file]
version = "0.2.0"
optional = true

[dependencies.logforth-append-journald]
version = "0.2.0"
optional = true

[dependencies.logforth-append-opentelemetry]
version = "0.2.0"
optional = true

[dependencies.logforth-append-syslog]
version = "0.2.0"
optional = true

[dependencies.logforth-bridge-log]
version = "0.2.0"
optional = true

[dependencies.logforth-core]
version = "0.2.0"

[dependencies.logforth-diagnostic-fastrace]
version = "0.2.0"
optional = true

[dependencies.logforth-layout-google-cloud-logging]
version = "0.2.0"
optional = true

[dependencies.logforth-layout-json]
version = "0.2.0"
optional = true

[dependencies.logforth-layout-logfmt]
version = "0.2.0"
optional = true

[dependencies.logforth-layout-text]
version = "0.2.0"
optional = true

[dev-dependencies.fastrace]
version = "0.7"
features = ["enable"]

[dev-dependencies.log]
version = "0.4.27"
features = [
    "kv_std",
    "kv_sval",
    "kv_serde",
]

[dev-dependencies.logforth-append-file]
version = "0.2.0"

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

[lints.clippy]
dbg_macro = "deny"

[lints.rust]
missing_docs = "deny"
unknown_lints = "deny"
unused_must_use = "deny"
