Logging
Tiger_Log is a structured facade over Zend_Log. It emits one JSON object per line, and it
never throws into the caller — logging can't break a request.
Structured + auto-enriched
Every entry is enriched with a per-request id and the authenticated user / org / role, so you can trace a single request across lines and filter by tenant:
Tiger_Log::info('update.step', ['item' => 'billing', 'step' => 'migrate', 'ok' => true]);
Tiger_Log::error('update.failed', ['item' => 'billing', 'error' => $e->getMessage()]);
Pluggable sinks
Where lines go is config, not code — set tiger.log.*:
null,errorlog,stderr/stream,syslog- direct AWS CloudWatch, GCP Cloud Logging, or Azure Monitor (cloud SDKs optional — if a
sink's SDK is missing it warns and falls back to
errorlog).
A configurable minimum level keeps noise down in production.
See also
- Updates — every update step is
Tiger_Log-ged as well as shown.