mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 09:13:23 +00:00
Quartz already funnels every diagnostic through the `Log` facade, but the sink was hardcoded per platform (android.util.Log / System.err / NSLog / println), so a consuming app couldn't route Quartz logs into its own stack (Timber, SLF4J, Crashlytics, a file, a test buffer, or /dev/null). Add a `LogSink` fun interface and a replaceable `Log.sink`, defaulting to `PlatformLogSink` which reproduces the historical per-platform behavior. All ~225 call sites and the `Log.*` signatures are unchanged; the lazy `() -> String` overloads still short-circuit on `minLevel` before the lambda runs, preserving the allocation-free fast path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EK3TrDkP1EXj1d62oKJMdc