Commit Graph

4 Commits

Author SHA1 Message Date
Levi Neely 4b96e0cae1 agent: audit logging via OLLIE_AUDIT_LOG=debug
Logger.Sub(tag) derives a child logger with a new tag from the same
writers, with level inherited from the parent but independently
overridable via OLLIE_{TAG}_LOG.

The agent creates an "audit" sub-logger at startup. Key events are
logged at debug level through it:
  audit: call: <tool> <args (truncated)>
  audit: result: <tool> <content (truncated)>
  audit: error: <message>
  audit: turn: start/end with cost and session ID
  audit: compact: messages removed, trigger, session ID

Enable with OLLIE_AUDIT_LOG=debug.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 18:21:13 +02:00
Levi Neely 549e1ccb45 pkg/log: remove globals, inject Sink as dependency
- Sink owns async writers and Flush; created once at startup
- Logger created via Sink.Logger/NewLogger/NewWriter
- agentCore.log field replaces package-level clog
- hooks.Run/runHookCmd accept *Logger parameter
- No globals, no init(). 100% test coverage.
2026-04-21 14:48:41 +02:00
Levi Neely 54f20bce02 log: async writes via buffered channel 2026-04-15 18:19:57 +02:00
Levi Neely 5582f3c8de add shared logger package; replace ad-hoc debug logging
New ollie/pkg/log with per-component log levels:
  OLLIE_LOG=debug        (global default, fallback: warn)
  OLLIE_CORE_LOG=debug   (component override)
  OLLIE_9P_LOG=info      (component override)

info/debug → stdout, warn/error → stderr.
2026-04-15 10:24:25 +02:00