chore(devices): TEMP power_telemetry at error level to flush fingers_crossed
CI / test (push) Has been cancelled

Prod monolog wraps the main handler in fingers_crossed(action_level: error),
so info-level logs sit in a 50-message buffer and get discarded at request
end. That's why three deploy+bounce cycles produced zero power_telemetry
lines in docker logs despite the unconditional log call. Logging at error
level forces the buffer to flush to php://stderr → docker logs. Will be
demoted when the surrounding TEMP block is removed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 15:50:43 -04:00
parent 828332f740
commit b8d120e74c
+7 -1
View File
@@ -96,7 +96,13 @@ class DeviceImageController extends AbstractController
// controller filtering them out. Greppable via
// `device.poll.power_telemetry`. Remove alongside the firmware's
// NVS_KEY_PREV_* writes once validated.
$this->logger->info('device.poll.power_telemetry', [
// TEMP: logged at error level (not info) so monolog's prod
// fingers_crossed handler flushes it to stderr → docker logs.
// INFO sits in a 50-message buffer that only flushes on a real
// error within the same request, so info-level diagnostic lines
// never reach the log stream. Demote when the surrounding TEMP
// block is removed.
$this->logger->error('device.poll.power_telemetry', [
'mac' => $mac,
'prev_awake_ms' => $request->headers->get('X-Prev-Awake-Ms'),
'prev_panel_init_ms' => $request->headers->get('X-Prev-Panel-Init-Ms'),