chore(devices): TEMP power_telemetry at error level to flush fingers_crossed
CI / test (push) Has been cancelled
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:
@@ -96,7 +96,13 @@ class DeviceImageController extends AbstractController
|
|||||||
// controller filtering them out. Greppable via
|
// controller filtering them out. Greppable via
|
||||||
// `device.poll.power_telemetry`. Remove alongside the firmware's
|
// `device.poll.power_telemetry`. Remove alongside the firmware's
|
||||||
// NVS_KEY_PREV_* writes once validated.
|
// 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,
|
'mac' => $mac,
|
||||||
'prev_awake_ms' => $request->headers->get('X-Prev-Awake-Ms'),
|
'prev_awake_ms' => $request->headers->get('X-Prev-Awake-Ms'),
|
||||||
'prev_panel_init_ms' => $request->headers->get('X-Prev-Panel-Init-Ms'),
|
'prev_panel_init_ms' => $request->headers->get('X-Prev-Panel-Init-Ms'),
|
||||||
|
|||||||
Reference in New Issue
Block a user