-
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
- 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 openiotraits to allow multiple terminal / file writing backends. -
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 is considered ready.
This list might not be up to date. Feel free to update.
# 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"