log4rs 1.0.0

A highly configurable multi-output logging implementation for the `log` facade
Documentation
[package]
name = "log4rs"
version = "1.0.0"
authors = ["Steven Fackler <sfackler@gmail.com>", "Evan Simmons <esims89@gmail.com>"]
description = "A highly configurable multi-output logging implementation for the `log` facade"
license = "MIT/Apache-2.0"
repository = "https://github.com/estk/log4rs"
readme = "README.md"
keywords = ["log", "logger", "logging", "log4"]
edition = '2018'

[features]
default = ["all_components", "config_parsing", "yaml_format"]

config_parsing = ["humantime", "serde", "serde-value", "typemap", "log/serde"]
yaml_format = ["serde_yaml"]
json_format = ["serde_json"]
toml_format = ["toml"]

console_appender = ["console_writer", "simple_writer", "pattern_encoder"]
file_appender = ["parking_lot", "simple_writer", "pattern_encoder", "regex"]
rolling_file_appender = ["parking_lot", "simple_writer", "pattern_encoder", "regex"]
compound_policy = []
delete_roller = []
fixed_window_roller = []
size_trigger = []
json_encoder = ["serde", "serde_json", "chrono", "log-mdc", "log/serde", "thread-id"]
pattern_encoder = ["chrono", "log-mdc", "thread-id"]
ansi_writer = []
console_writer = ["ansi_writer", "libc", "winapi"]
simple_writer = []
threshold_filter = []
background_rotation = []

all_components = [
    "console_appender",
    "file_appender",
    "rolling_file_appender",
    "compound_policy",
    "delete_roller",
    "fixed_window_roller",
    "size_trigger",
    "json_encoder",
    "pattern_encoder",
    "threshold_filter"
]

gzip = ["flate2"]

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

[dependencies]
arc-swap = "0.4"
chrono = { version = "0.4", optional = true }
flate2 = { version = "1.0", optional = true }
fnv = "1.0"
humantime = { version = "2.0", optional = true }
log = { version = "0.4.0", features = ["std"] }
log-mdc = { version = "0.1", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] }
serde-value = { version = "0.7", optional = true }
thread-id = { version = "3.3", optional = true }
typemap = { version = "0.3", optional = true }
serde_json = { version = "1.0", optional = true }
serde_yaml = { version = "0.8.4", optional = true }
toml = { version = "0.5", optional = true }
parking_lot = { version = "0.11.0", optional = true }
regex = { version = "1", optional = true }
thiserror = "1.0.15"
anyhow = "1.0.28"
derivative = "2.1.1"

[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", optional = true, features = ["handleapi", "minwindef", "processenv", "winbase", "wincon"] }

[target.'cfg(not(windows))'.dependencies]
libc = { version = "0.2", optional = true }

[dev-dependencies]
lazy_static = "1.4"
streaming-stats = "0.2.3"
humantime = "2.0"
tempfile = "3.1.0"

[[example]]
name = "json_logger"
required-features = ["json_encoder", "console_appender"]

[[example]]
name = "log_to_file"
required-features = ["console_appender", "file_appender", "rolling_file_appender"]