-
Couldn't load subscription status.
- Fork 97
slog v2
Dawid Ciężarkiewicz edited this page Apr 12, 2017
·
28 revisions
- Unified and simplified logging macros structure and ordering.
- Added logging Record
tags - Refactored key-value pairs traits and structures and overall handling.
- It's now possible to
impl KV for MyStruct. -
kv!can be used to create on stack key-value list. KV-implementing data can appear on the key-value list directly.- Support for
fmt::Debugan `fmt::Display values
- It's now possible to
- Support chaining of
OwnedKVLists. ExistingLoggercan be used as aDrainto allow custom handling logic for a part of the logging hierarchy. - Added associated
Oktype toDrain. - Support for
Drains unwind safety. - Refactored
Recordto optimize performance on async operations. -
slog-extrahas been renamed toslog-asyncsince that's the only functionality it contained. -
slog-streamis obsoleted and won't be used inslog v2at all. It was a wrong abstraction.Decoratorsfunctionality was moved toslog-term. -
slog-termprovides openDecoratortraits to allow multiple terminal / file writing backends. -
slog-termdefaultDecorators usetermcrate and should work correctly on all supported OSes. -
DrainExthas been removed and utility methods moved directly toDrain -
slog-stdlogutilizesslog-scopedirectly. -
Support for "typed"
Loggers to allow squeezing last drops of performance possible, at the cost ofTinLogger<T>.
Core slog v2 crate is stable. Majority of core feature crates are ready and working, and will have stable releases after getting more confidence in their APIs.
Your feedback and opinions can speed up the stabilization process.
This list might not be up to date. Feel free to edit.
# all core improvements and ideas implemented; hopefully no more breaking changes coming;
slog = "2.0.0-3.1"
slog-async = "2.0.0-3.0"
slog-scope = "2.0.0-3.0"
slog-json = "2.0.0-3.0"
slog-bunyan = "2.0.0-3.0"
# some breaking changes still possible
slog-term = "2.0.0-3.0"
slog-stdlog = "2.0.0-0.2"
slog-envlogger = "2.0.0-1.0"
slog-atomic = "2.0.0-1.0"
slog-syslog = "0.10.0"
slog-config = "0.3.0"
# still need porting
slog-journald
slog-cadence
slog-html
slog-kvfilter
slog-example-lib
# obsoleted
slog-extra - contained just `async` so is not `slog-async`
slog-stream - use `Decorator` in slog-term instead
slog-serde - wasn't useful enough
slog-scope-stdlog - use slog-scope instead
Slog v2 ecosystem was (and is stil) being developed in the 0.x.y pre-release model. slog 2.0.0-1.0 should be treated as 0.1.0 version was, just working toward 2.0.0 release.
It's recommended to use the following to specify the dependency on pre-release versions of crates ported to slog. eg.
slog-term = ~2.0.0-3"