Skip to content

Commit 98abcf2

Browse files
authored
Merge pull request #299 from epage/other
refactor: Split out env_filter package
2 parents 2089053 + f187782 commit 98abcf2

File tree

11 files changed

+95
-36
lines changed

11 files changed

+95
-36
lines changed

Cargo.lock

Lines changed: 9 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
[package]
2-
name = "env_logger"
3-
version = "0.10.2"
4-
description = """
5-
A logging implementation for `log` which is configured via an environment
6-
variable.
7-
"""
8-
repository = "https://github.com/rust-cli/env_logger"
9-
categories = ["development-tools::debugging"]
10-
keywords = ["logging", "log", "logger"]
1+
[workspace]
2+
resolver = "2"
3+
members = ["crates/*"]
4+
5+
[workspace.package]
116
license = "MIT OR Apache-2.0"
127
edition = "2021"
138
rust-version = "1.71" # MSRV
@@ -23,6 +18,21 @@ include = [
2318
"tests/**/*",
2419
]
2520

21+
[package]
22+
name = "env_logger"
23+
version = "0.10.2"
24+
description = """
25+
A logging implementation for `log` which is configured via an environment
26+
variable.
27+
"""
28+
repository = "https://github.com/rust-cli/env_logger"
29+
categories = ["development-tools::debugging"]
30+
keywords = ["logging", "log", "logger"]
31+
license.workspace = true
32+
edition.workspace = true
33+
rust-version.workspace = true
34+
include.workspace = true
35+
2636
[package.metadata.docs.rs]
2737
all-features = true
2838
rustdoc-args = ["--cfg", "docsrs"]
@@ -41,11 +51,11 @@ default = ["auto-color", "humantime", "regex"]
4151
color = ["dep:anstream", "dep:anstyle"]
4252
auto-color = ["color", "anstream/auto"]
4353
humantime = ["dep:humantime"]
44-
regex = ["dep:regex"]
54+
regex = ["env_filter/regex"]
4555

4656
[dependencies]
4757
log = { version = "0.4.8", features = ["std"] }
48-
regex = { version = "1.0.3", optional = true, default-features=false, features=["std", "perf"] }
58+
env_filter = { version = "0.1.0", path = "crates/env_filter", default-features = false }
4959
humantime = { version = "2.0.0", optional = true }
5060
anstream = { version = "0.6.11", default-features = false, features = ["wincon"], optional = true }
5161
anstyle = { version = "1.0.4", optional = true }

crates/env_filter/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Change Log
2+
All notable changes to this project will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
5+
and this project adheres to [Semantic Versioning](http://semver.org/).
6+
7+
<!-- next-header -->
8+
## [Unreleased] - ReleaseDate
9+
10+
<!-- next-url -->
11+
[Unreleased]: https://github.com/rust-cli/env_logger/compare/b4a2c304c16d1db4a2998f24c00e00c0f776113b...HEAD

crates/env_filter/Cargo.toml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[package]
2+
name = "env_filter"
3+
version = "0.1.0"
4+
description = """
5+
Filter log events using environment variables
6+
"""
7+
repository = "https://github.com/rust-cli/env_logger"
8+
categories = ["development-tools::debugging"]
9+
keywords = ["logging", "log", "logger"]
10+
license.workspace = true
11+
edition.workspace = true
12+
rust-version.workspace = true
13+
include.workspace = true
14+
15+
[package.metadata.docs.rs]
16+
all-features = true
17+
rustdoc-args = ["--cfg", "docsrs"]
18+
19+
[package.metadata.release]
20+
pre-release-replacements = [
21+
{file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
22+
{file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
23+
{file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
24+
{file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
25+
{file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/rust-cli/env_logger/compare/{{tag_name}}...HEAD", exactly=1},
26+
]
27+
28+
[features]
29+
default = ["regex"]
30+
regex = ["dep:regex"]
31+
32+
[dependencies]
33+
log = { version = "0.4.8", features = ["std"] }
34+
regex = { version = "1.0.3", optional = true, default-features=false, features=["std", "perf"] }

crates/env_filter/LICENSE-APACHE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../LICENSE-APACHE

crates/env_filter/LICENSE-MIT

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../LICENSE-MIT

crates/env_filter/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# env_filter
2+
3+
[![crates.io](https://img.shields.io/crates/v/env_filter.svg)](https://crates.io/crates/env_filter)
4+
[![Documentation](https://docs.rs/env_filter/badge.svg)](https://docs.rs/env_filter)
5+
6+
> Filter log events using environment variables

src/filter/mod.rs renamed to crates/env_filter/src/lib.rs

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
//! Filtering for log records.
22
//!
3-
//! This module contains the log filtering used by `env_logger` to match records.
4-
//! You can use the `Filter` type in your own logger implementation to use the same
5-
//! filter parsing and matching as `env_logger`. For more details about the format
6-
//! for directive strings see [Enabling Logging].
3+
//! You can use the [`Filter`] type in your own logger implementation to use the same
4+
//! filter parsing and matching as `env_logger`.
75
//!
8-
//! ## Using `env_logger` in your own logger
6+
//! ## Using `env_filter` in your own logger
97
//!
10-
//! You can use `env_logger`'s filtering functionality with your own logger.
8+
//! You can use `env_filter`'s filtering functionality with your own logger.
119
//! Call [`Builder::parse`] to parse directives from a string when constructing
1210
//! your logger. Call [`Filter::matches`] to check whether a record should be
1311
//! logged based on the parsed filters when log records are received.
1412
//!
1513
//! ```
16-
//! extern crate log;
17-
//! extern crate env_logger;
18-
//! use env_logger::filter::Filter;
14+
//! use env_filter::Filter;
1915
//! use log::{Log, Metadata, Record};
2016
//!
2117
//! struct MyLogger {
@@ -24,7 +20,7 @@
2420
//!
2521
//! impl MyLogger {
2622
//! fn new() -> MyLogger {
27-
//! use env_logger::filter::Builder;
23+
//! use env_filter::Builder;
2824
//! let mut builder = Builder::new();
2925
//!
3026
//! // Parse a directives string from an environment variable
@@ -53,10 +49,6 @@
5349
//! fn flush(&self) {}
5450
//! }
5551
//! ```
56-
//!
57-
//! [Enabling Logging]: ../index.html#enabling-logging
58-
//! [`Builder::parse`]: struct.Builder.html#method.parse
59-
//! [`Filter::matches`]: struct.Filter.html#method.matches
6052
6153
use log::{Level, LevelFilter, Metadata, Record};
6254
use std::env;
@@ -79,9 +71,8 @@ mod inner;
7971
/// ## Example
8072
///
8173
/// ```
82-
/// # #[macro_use] extern crate log;
8374
/// # use std::env;
84-
/// use env_logger::filter::Builder;
75+
/// use env_filter::Builder;
8576
///
8677
/// let mut builder = Builder::new();
8778
///
@@ -92,8 +83,6 @@ mod inner;
9283
///
9384
/// let filter = builder.build();
9485
/// ```
95-
///
96-
/// [`Filter`]: struct.Filter.html
9786
pub struct Builder {
9887
directives: Vec<Directive>,
9988
filter: Option<inner::Filter>,
@@ -248,7 +237,7 @@ impl Filter {
248237
///
249238
/// ```rust
250239
/// use log::LevelFilter;
251-
/// use env_logger::filter::Builder;
240+
/// use env_filter::Builder;
252241
///
253242
/// let mut builder = Builder::new();
254243
/// builder.filter(Some("module1"), LevelFilter::Info);

src/filter/regex.rs renamed to crates/env_filter/src/regex.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
extern crate regex;
2-
31
use std::fmt;
42

5-
use self::regex::Regex;
3+
use regex::Regex;
64

75
#[derive(Debug)]
86
pub struct Filter {
File renamed without changes.

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@
277277

278278
mod logger;
279279

280-
pub mod filter;
280+
#[doc(inline)]
281+
pub use ::env_filter as filter;
281282
pub mod fmt;
282283

283284
pub use self::fmt::{Target, TimestampPrecision, WriteStyle};

0 commit comments

Comments
 (0)