Alright everyone, time for another update! This past Tuesday the libs team (no guests this time) performed a review of the log
crate and we discussed quite a few topics! We ended up getting through all of the discussion points above, and I'll summarize in highlight our conclusions here. In addition to the links @dtolnay mentioned above I'll add:
- Meeting video
- Tracking issue for
log
crate evaluation (tons of issues here!) - Cookbook examples still need help!
- Guidelines for selectively importing macros
Discussion highlights:
What is the log crate's relation to slog and fern?
This ended up being one of the largest discussion points of the meeting! The conclusion was that there's no reason to not be more ambitious in log
and attempt to cover structured logging as well. A tracking issue has been opened to continue discussoin and coordinate.
Should env_logger stay in the repository or should it get split out?
One discussion point brought up is that env_logger as a crate typically is misunderstood as the "main" and/or only logger implementation, lots of which stems from the fact that it's in the log
repository. The conclusion was to move the crate to its own repo, and if you're interested in helping out and/or maintaining this please comment on the issue!
Many other concerns with env_logger
were lumped into this, we didn't talk about much specifically. Improvements to env_logger
are of course always welcome!
Should shutdown of a logger be supported?
Conclusion was no, but flushing may want explicit support. Discussion may wish to continue on the tracking issue
Should anything here implement serde?
We've decided to update the guidelines here wrt what's recommended to implement serde traits (not all types, just expand on the motivation for implementing the traits)
Are there any panic conditions in this lib?
Amazingly, no!
What should we do about README duplication?
We should comment on the associated RFC
The types here stutter in a way we usually don't do (LogLevel)
Should the static default log levels change? Should debug and trace be disabled by default in release mode? (e.g. see slog for an example)
A tracking issue has been created, and @sfackler had some good rationale for the current state of affairs, which he'll copy to the tracking issue shortly.
If you'd like to help out please feel free to take a look at the tracking issue and dive in on any open issues! If you'd like to implement some cookbook examples there's still some open as well!
Otherwise if you've got any questions please of course feel welcome to comment here, we'll try to help direct you to the right location. Thanks again everyone for all the discussions here!