Comments (2)
I took a jab at adding support for this and have come up with two prototypes:
- Non breaking change: Added an RwLock around the filter field of the Logger struct. This approach is simple but there is a
read
penalty when accessing the filter field anytime something is logged. Code for this approach here - Breaking change: Used generics to create a logger that can change filters at runtime or forgo the ability to change at runtime to avoid the
read
penalty and remain static (basically how it is now). Code for this approach here
For both prototypes, when the logger is built you can get an instance of a new struct called DynamicLogLevel
. It has a check_filter_config
method that when called, checks a config file and updates the filter if the levels have changed.
The contents of this config file should follow the same syntax used for the RUST_LOG
env var.
My goal is to start the conversation and possibly see if there are better ways to add support for this.
from env_logger.
+1 to "this would be nice"
from env_logger.
Related Issues (20)
- MSRV break due to is_terminal 0.4.8 HOT 1
- `WriteStyle` is ignored when used with `Target::Pipe`
- Replace is-terminal dep with std::io::IsTerminal HOT 7
- `Target::Pipe` does not auto-flush like std{out/err}
- about doc HOT 2
- Cargo.lock is not meant to be checked in for libraries HOT 4
- Trivial: the systemd example misuses RUST_LOG_STYLE HOT 1
- method not found in `&mut Formatter` HOT 1
- can't see any logs when using #[windows_subsystem = "windows"] HOT 4
- Missing changelog for 0.10.1 HOT 1
- Remove deprecated APIs
- Missing recent releases on github? HOT 1
- logger crate catches Clion stop signal HOT 1
- Provide a way to disable automatic flushing when using `Target::Pipe` HOT 1
- Feature Deprecation Without Warning or Migration HOT 3
- env_logger doesn't output anything HOT 4
- Issue with `anstream` optional dependency HOT 1
- Empty changelog for 0.11.2 HOT 1
- [feat] support star matching HOT 3
- delete me HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from env_logger.