Here's a sanitized version from my logs. I was able to recreate the issue using only 2 lines:
{"message":"Entry without a duration","context":{"call_stack":[" /var/www/example.com/public/wp/wp-cron.php(191): do_action_ref_array()"," /var/www/example.com/public/wp/wp-includes/plugin.php(565): WP_Hook->do_action()"," /var/www/example.com/public/wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()"," /var/www/example.com/public/wp/wp-includes/class-wp-hook.php(324): Site\\Salesforce->cron_salesforce_sync()"," /var/www/example.com/public/content/plugins/site/classes/salesforce.php(594): Monolog\\Logger->info()"," /var/www/example.com/composer/monolog/monolog/src/Monolog/Logger.php(606): Monolog\\Logger->addRecord()"," /var/www/example.com/composer/monolog/monolog/src/Monolog/Logger.php(377): Site\\CallStackContextProcessor->__invoke()"]},"level":200,"level_name":"INFO","channel":"Salesforce","datetime":"2025-04-15T20:40:04.197364+00:00","extra":{"hook":{"name":"cron_salesforce_sync","priority":10},"request_id":"45a570f7-4a81-4ec4-bb4b-6ba5b307ab85","url":"/wp/wp-cron.php?doing_wp_cron","ip":"0.0.0.0","http_method":"GET","server":"example.com","referrer":null,"file":"/var/www/example.com/public/content/plugins/site/classes/salesforce.php","line":594,"class":"Site\\Salesforce","callType":"->","function":"cron_salesforce_sync"}}
{"message":"Entry with duration","context":{"duration":1.93,"call_stack":[" /var/www/example.com/public/wp/wp-cron.php(191): do_action_ref_array()"," /var/www/example.com/public/wp/wp-includes/plugin.php(565): WP_Hook->do_action()"," /var/www/example.com/public/wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()"," /var/www/example.com/public/wp/wp-includes/class-wp-hook.php(324): Site\\Salesforce->cron_salesforce_sync()"," /var/www/example.com/public/content/plugins/site/classes/salesforce.php(594): Monolog\\Logger->info()"," /var/www/example.com/composer/monolog/monolog/src/Monolog/Logger.php(606): Monolog\\Logger->addRecord()"," /var/www/example.com/composer/monolog/monolog/src/Monolog/Logger.php(377): Site\\CallStackContextProcessor->__invoke()"]},"level":200,"level_name":"INFO","channel":"Salesforce","datetime":"2025-04-15T20:40:04.197364+00:00","extra":{"hook":{"name":"cron_salesforce_sync","priority":10},"request_id":"45a570f7-4a81-4ec4-bb4b-6ba5b307ab85","url":"/wp/wp-cron.php?doing_wp_cron","ip":"0.0.0.0","http_method":"GET","server":"example.com","referrer":null,"file":"/var/www/example.com/public/content/plugins/site/classes/salesforce.php","line":594,"class":"Site\\Salesforce","callType":"->","function":"cron_salesforce_sync"}}
This is the JsonParser config I'm using:
{
"message": "%message",
"context": {
"duration": "%S{Duration}",
},
"ndc": "%x",
"level_name": "%p",
"channel": "%S{Channel}",
"datetime": "%d{yyyy-MM-ddT%H:mm:ss.ffffff%zzzz}",
"extra": {
"hook": {
"name": "%S{Hook Name}",
"priority": "%S{Hook Priority}"
},
"url": "%S{URL}",
"ip": "%S{IP}",
"http_method": "%S{Method}",
"server": "%S{Server}",
"referred": "%S{Referrer}",
"file": "%S{File}",
"line": "%line",
"class": "%class",
"function": "%method",
"request_id": "%t"
}
}