Commit Graph
17 Commits
Author SHA256 Message Date
Claude fe711ed2a5 v0.1.12 SetConsoleWriter routes console output to a host writer
Test / test (push) Canceled after 0s
Test / fuzz (./compat, FuzzParseFormat) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatJSON) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatTextPolicy) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSanitize) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSerializerJSON) (push) Canceled after 0s
A host that draws on the terminal (a TUI) cannot let the logger write to
stdout or stderr, yet the records are worth showing inside the host.
SetErrorHandler already covers internal diagnostics; SetConsoleWriter is
its sibling for console output.

- SetConsoleWriter(w) sends console output of every console_target to w,
  split's warn-and-above records included; nil restores stdout/stderr.
  It holds across ApplyConfig and is safe while logging.
- One stored value: ApplyConfig and SetConsoleWriter publish the console
  writers through storeConsole; the processor's split branch now reads
  the stored warn writer instead of writing os.Stderr directly.
- TestLoggerConsoleTargets becomes TestConsoleWriterTakesEveryTarget,
  which asserts where each target's records land; a second test checks
  that nil restores the configured writers.
- README names both hooks for terminal hosts; the API doc's callback
  contract covers console writers.

Verified: go build ./... ok; gofmt -l on changed files clean; go vet ./...
ok; go test ./... ok (all four packages, under 1 s); go test -race on the
new tests ok; mutation run 6 of 6 caught.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SyaMAhyEzAp3ULLWJZG4jQ
2026-10-10 20:14:00 -04:00
lixen 2417e51da1 v0.1.11 harden logging lifecycle, sanitization, and formatter edge cases
Test / test (push) Canceled after 0s
Test / fuzz (./compat, FuzzParseFormat) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatJSON) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatTextPolicy) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSanitize) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSerializerJSON) (push) Canceled after 0s
2026-09-26 14:25:14 -04:00
lixen 6734e2141c v0.1.4 formatter race fix, fiber adapter added, default config changed, docs updated 2025-11-17 16:33:08 -05:00
lixen 8b5faa217f v0.1.3 formatter exported, docs updated 2025-11-15 16:32:27 -05:00
lixen 05228e64ba v0.1.1 format refactored, sanitizer added 2025-11-15 04:32:39 -05:00
lixen 443cd85416 v0.1.0 Release 2025-11-11 03:53:43 -05:00
lixen 98402cce37 e3.0.0 Tests added, optimization, bug fixes, builder changed. 2025-07-20 18:11:03 -04:00
lixen 97b85995e9 e2.0.0 Init and config pattern changed, builder added, docs updated, examples removed (deprecated). 2025-07-18 23:19:26 -04:00
lixen 115888979e e1.6.1 Configurable internal errors, minor documentation and code fixes. 2025-07-10 18:00:42 -04:00
lixen 52d6a3c86d e1.6.0 Documentation update. 2025-07-10 13:51:27 -04:00
lixen 43c98b08f9 e1.5.0 Log sink options added. 2025-07-09 21:21:14 -04:00
lixen ccbe65bf40 e1.4.4 Fix module path and dependency issues, compatibility package added. 2025-07-08 22:13:11 -04:00
lixen 764caeb894 e1.2.1 Readme update and comment cleanup. 2025-04-24 15:31:49 -04:00
lixen bfed212f40 e1.2.0 Heartbeat feature added. 2025-04-23 11:52:57 -04:00
lixen 0ddfa2c533 e1.1.0 Refactoring default config and unused functions, global auto-initiated logger instance removed 2025-04-23 01:08:14 -04:00
lixen c809396455 e1.0.1 Minor feature add, file restructure. 2025-04-22 18:48:29 -04:00
lixen b78da2b449 e1.0.0 Initial commit, restructured and refactored logger package, used config package for configuration management. 2025-04-22 11:29:34 -04:00