Logs

The Logs Hub consolidates all system audit trails, security events, error records, email delivery history, and failed transaction recovery into a single admin page.

Navigate to Settings > Logs in the admin sidebar to access this section.

Required permission: settings:view to view all tabs. settings:edit is additionally required for recovery actions (retrying DLQ items, retrying failed emails, dismissing DLQ items).

Overview

The Logs Hub is organised into six tabs:

TabWhat It Shows
Admin ActionsAudit trail of every admin operation (create, update, delete, configure, etc.)
Email LogsDelivery history for all system emails, with retry capability for failures
SecurityLogin attempt log (successful and failed) for all users
ErrorsServer-side error log (5xx errors, uncaught exceptions)
PerformanceSampled runtime metrics from web and Telegram clients
Dead Letter QueueFailed background operations (transactions, retries) with manual recovery tools

Each tab loads data independently. Switching tabs fetches fresh data for that tab.

Admin Actions

The Admin Actions tab provides a complete audit trail of every action taken by administrators on the platform. Every significant admin operation is automatically recorded, including who performed it, what changed, and whether it succeeded.

Columns

ColumnDescription
TimestampWhen the action occurred
AdminEmail address of the admin who performed the action
CategoryAction category (see table below)
ActionAction type (create, update, delete, approve, reject, login, logout, configure, send, execute)
ResourceThe resource type affected (e.g., table, user, transaction), with the resource name in parentheses if available
StatusSuccess or Failed badge

Categories

CategoryWhat It Covers
userUser account modifications (block, unblock, password reset, balance changes)
tableTable creation, editing, pausing, deleting
financialDeposits, withdrawals, balance adjustments
botBot configuration and management
gameGame settings and rules changes
messagingAnnouncements and notifications
settingsSystem configuration changes
authAdmin login, logout, permission changes
agentAgent management operations
groupPlayer group management
otherMiscellaneous admin actions

Expanding a Row

Click any row to expand it and view additional detail fields:

  • Details — structured JSON showing context about the action
  • Changes — JSON diff of what was modified (before/after values where applicable)
  • Error — error message if the action failed
  • Resource ID — unique identifier of the affected resource
  • IP — IP address of the admin who performed the action

Filtering

Use the filter bar to narrow results by:

FilterOptions
CategoryAll Categories, or any single category from the list above
ActionAll Actions, or any single action type (create, update, delete, etc.)
Resource TypeFree-text search (e.g., table, user, transaction)
Admin EmailFree-text search by admin email address
From DateStart of date range
To DateEnd of date range
StatusAll Statuses / Success / Failed

Click Clear Filters to reset all filters at once.

Email Logs

The Email Logs tab shows the delivery history of all system-generated emails (welcome emails, password resets, notifications, etc.).

Stats Bar

Five summary cards appear at the top:

CardDescription
Total SentAll-time successfully sent emails
Total FailedAll-time failed email deliveries
Total PendingEmails currently queued for delivery
Sent (24h)Emails sent in the last 24 hours
Failed (24h)Failed deliveries in the last 24 hours

Columns

ColumnDescription
RecipientEmail address the message was sent to
SubjectEmail subject line
TemplateTemplate name used to generate the email, or dash if none
StatusSent, Failed, or Pending
Sent AtTimestamp of delivery (or creation time if not yet sent)
ErrorError message if delivery failed
ActionsRetry button (shown only for failed emails)

Viewing Email Details

Click any row to open the detail panel, which shows the full recipient, subject, template name, status, and error message (if applicable).

Retrying Failed Emails

For emails with status Failed, click the Retry button (either in the table row or in the detail panel). The email is re-queued for delivery.

Filtering

FilterOptions
StatusAll Statuses / Sent / Failed / Pending
RecipientFree-text search by email address
Start DateStart of date range
End DateEnd of date range

Security

The Security tab logs every login attempt across the platform, including both successful and failed attempts.

Columns

ColumnDescription
TimestampWhen the login attempt occurred
IdentifierUsername or IP address used in the attempt
Typeusername (login by credentials) or ip (rate-limit tracking by IP)
IPIP address of the client
StatusSuccess or Failed badge
User AgentBrowser/client user-agent string (truncated in the table, full value on hover)

Filtering

FilterOptions
IdentifierFree-text search by username or IP
TypeAll Types / Username / IP
StatusAll Statuses / Success / Failed
From DateStart of date range
To DateEnd of date range

Note: Use this tab to investigate brute-force login attempts. Filter by Status = Failed and sort by timestamp to identify patterns. Cross-reference IP addresses with the Identifier column to spot credential-stuffing attacks from a single source.

Errors

The Errors tab captures server-side errors — primarily 5xx HTTP responses and uncaught exceptions. Each error is persisted to the database automatically by the error-handling middleware.

Columns

ColumnDescription
TimestampWhen the error occurred
Severitycritical, error, or warn
CodeApplication error code (if set), e.g., INTERNAL_SERVER_ERROR
MessageError message (truncated in the table)
URLAPI endpoint that triggered the error
MethodHTTP method (GET, POST, etc.)
HTTP StatusResponse status code (e.g., 500, 502)

Expanding a Row

Click any row to expand it and view:

  • Stack Trace — full exception stack trace
  • Context — structured JSON with additional context about the error
  • User ID — the authenticated user who triggered the error (if applicable)
  • IP — client IP address
  • User Agent — browser/client identifier

Filtering

FilterOptions
SeverityAll Severities / Critical / Error / Warning
HTTP Status CodeNumeric input (e.g., 500)
URL containsFree-text search on the request URL
From DateStart of date range
To DateEnd of date range

Performance

The Performance tab shows aggregated, sampled runtime metrics (web vitals) with the metric, source, and sample count. Use the Range and Source controls to narrow the view. How many browser sessions report is set by Web vitals sample rate in Settings.

Dead Letter Queue

The Dead Letter Queue (DLQ) tab is a recovery tool for background operations that failed after exhausting their automatic retry attempts. This primarily includes failed financial transactions (deposits, withdrawals, balance adjustments) and other asynchronous operations.

Summary Cards

Five stat cards appear at the top:

CardDescription
TotalTotal items across all statuses
PendingItems awaiting their next retry attempt
ProcessingItems currently being processed
FailedItems that have exhausted all retries
CompletedItems that were successfully recovered

Below the stat cards, a By Operation Type breakdown shows item counts grouped by operation (e.g., "Confirm Deposit", "Process Withdrawal").

Columns

ColumnDescription
DateWhen the item was created
Operation TypeThe type of operation that failed (e.g., transaction.confirmDeposit)
Error SummaryTruncated error message
StatusPENDING, PROCESSING, COMPLETED, FAILED, or EXPIRED
RetriesCurrent retry count out of the maximum allowed
ActionsRetry and Dismiss buttons

Item Statuses

StatusMeaning
PENDINGQueued and waiting for the next automatic or manual retry
PROCESSINGCurrently being retried
COMPLETEDSuccessfully recovered — the operation completed
FAILEDAll automatic retries exhausted; requires manual intervention
EXPIREDItem passed its expiration date without being processed

Viewing Item Details

Click any row to open the detail modal, which shows:

  • Basic Information — ID, status, operation type, retry count
  • Timestamps — created, expires, last retry, next retry, processed
  • Identifiers — user ID and correlation ID (for tracing related operations)
  • Error Information — error code and full error message
  • Operation Data — the full JSON payload of the operation that failed
  • Metadata — any additional metadata attached to the item

Retrying Items

Click the Retry button on any item with status PENDING, FAILED, or EXPIRED. The item is reset to PENDING status and processed immediately. For transaction operations, the specialised transaction retry worker handles the retry; for other operations, the item is queued for the next worker run.

Note: Retrying a transaction operation processes it immediately. Verify the error cause is resolved before retrying to avoid repeated failures.

Dismissing Items

Click the Dismiss (trash) button to permanently delete a DLQ item. This action cannot be undone. Use this for items that are no longer relevant or have been resolved through other means.

Bulk Actions

Use the checkboxes to select multiple items, then use the bulk action bar:

  • Retry Selected — retries all selected items that are in a retryable status (PENDING, FAILED, EXPIRED)
  • Dismiss Selected — permanently deletes all selected items

Filtering

FilterOptions
Operation TypeDropdown of operation types present in the current results
StatusAll Statuses / Pending / Processing / Completed / Failed / Expired
From DateStart of date range
To DateEnd of date range

Pagination

All tabs use paginated results. The page size is 50 entries for Admin Actions, Security, and Errors tabs, and 20 entries for Email Logs and Dead Letter Queue. Navigation controls appear at the bottom of each tab when results span multiple pages.

Notes for Operators

  • The Logs Hub does not auto-refresh. Click Refresh (where available) or switch away from and back to a tab to reload data.
  • All timestamps are displayed in your browser’s local timezone.
  • Audit records are stored in the database and grow over time. Old admin action records can be purged through maintenance scripts if storage becomes a concern.
  • DLQ items have an expiration date. Expired items will not be automatically retried but can still be manually retried or dismissed.
  • The Security tab records all login attempts, not just admin logins. Use it to monitor player account security as well.
Try the live demo Pricing

Have questions about Poker Engine? We reply fast.