Gå til indhold

Logning

Queuety logger alle job- og workflowhændelser i databasetabellen queuety_logs. Der findes ingen logfiler. Alle poster kan forespørges via PHP API og CLI.

Hændelsestyper

Hver logpost har en hændelsestype fra enumen LogEvent:

Hændelse Beskrivelse
started Jobudførelse startet
completed Job fuldført uden fejl
failed Et forsøg udløste en undtagelse og gentages (det sidste forsøg logger kun buried)
buried Jobbet har brugt alle gentagelsesforsøg
retried Jobbet blev planlagt til gentagelse
workflow_started Workflow blev sendt til behandling
workflow_completed Alle workflowtrin blev fuldført
workflow_failed Workflowtrin mislykkedes permanent
workflow_paused Workflow blev sat på pause
workflow_resumed Workflow blev genoptaget
workflow_cancelled Workflow blev annulleret
workflow_rewound Workflow blev rullet tilbage til et tidligere trin
workflow_forked Workflow blev forgrenet til et nyt workflow
workflow_deadline_exceeded Workflow overskred sin must_complete_within()-deadline
debug Meddelelse på fejlfindingsniveau (når QUEUETY_DEBUG er aktiveret)

Logfelter

Hver logpost indeholder:

Felt Beskrivelse
id ID, der øges automatisk
event Hændelsestype som tekststreng
handler Handlernavn eller -klasse
job_id Tilknyttet job-ID (kan være null)
workflow_id Tilknyttet workflow-ID (kan være null)
step_index Indeks for workflowtrin (kan være null)
attempt Forsøgsnummer
duration_ms Udførelsesvarighed i millisekunder
error_message Fejlmeddelelse ved fejl
created_at Tidsstempel

Forespørg efter logfiler via PHP

PHP
$logger = Queuety::logger();

// Logs for a specific job
$logs = $logger->for_job( 42 );

// Logs for a specific workflow
$logs = $logger->for_workflow( 7 );

// Logs for a specific handler
$logs = $logger->for_handler( 'send_email', 50 );

// Logs for a specific event type
$logs = $logger->for_event( \Queuety\Enums\LogEvent::Failed, 50 );

// Logs since a datetime
$logs = $logger->since( new \DateTimeImmutable( '-1 hour' ), 100 );

Forespørg efter logfiler via CLI

Shell
# Recent logs (last 24 hours)
wp queuety log

# Logs for a specific job
wp queuety log --job=42

# Logs for a specific workflow
wp queuety log --workflow=7

# Logs for a handler
wp queuety log --handler=send_email

# Logs for an event type
wp queuety log --event=failed

# Logs since a datetime
wp queuety log --since="2025-01-01 00:00:00"

# Custom limit and format
wp queuety log --limit=100 --format=json

Opbevaring af logfiler

Logfiler gemmes, indtil du rydder dem. Konstanten QUEUETY_LOG_RETENTION_DAYS læses af Config::log_retention_days(), men bruges endnu ikke, så den rydder intet (#15). Underkommandoen wp queuety log purge kan heller ikke nås (#11).

Ryd op via PHP, f.eks. fra din egen planlagte opgave eller med wp eval:

PHP
$count = Queuety::logger()->purge( 30 );