0.8.0: pretty logger (Log) + crash capture
- Log: static entry + scoped Loggers (Log.tag), six levels, lazy messages,
structured fields, ANSI ConsoleSink, DeveloperSink, MemorySink, NoopSink.
Sinks compose via +; throwing sinks are isolated.
- Log.configure wires FlutterError/PlatformDispatcher/isolate errors through
Log.e by default; log-then-rethrow deduped via Expando.
- UxKeyboard: migrate kDebugMode print() to Log.tag('KB').d lazily.
- Depend on package:clock for testable timestamps.
This commit is contained in:
15
CHANGELOG.md
15
CHANGELOG.md
@@ -1,3 +1,18 @@
|
||||
### 0.8.0
|
||||
- `Log`: pretty, production-ready logger. Static entry (`Log.d/i/w/e/f/t`),
|
||||
scoped loggers via `Log.tag('KB')`, lazy messages (`Log.d(() => expensive)`),
|
||||
structured `fields`, ANSI-colored `ConsoleSink`, `DeveloperSink` for DevTools,
|
||||
`MemorySink` ring buffer (tests + breadcrumbs), `NoopSink`. Sinks fan out via
|
||||
`+` with per-sink `minLevel`; throwing sinks can't take down the pipeline.
|
||||
- `Log.configure`: one-call setup that also wires `FlutterError.onError`,
|
||||
`PlatformDispatcher.onError`, and isolate errors through `Log.e`. Pair of
|
||||
log-then-rethrow is deduped via an `Expando` mark so crash handlers don't
|
||||
double-report. Override the `captureCrashes` hook to customise or pass
|
||||
`() {}` to opt out.
|
||||
- `UxKeyboard`: adaptive-learning debug output now uses `Log.tag('KB').d`
|
||||
instead of `print`, lazy-built so the formatted line is only constructed
|
||||
when debug level is enabled.
|
||||
|
||||
### 0.7.0
|
||||
- `AutoMap<K, V>`: insertion-ordered collection with O(1) lookup by key
|
||||
**and** by index. Backed by a `List<V>` + `Map<K, int>` kept in sync by
|
||||
|
||||
Reference in New Issue
Block a user