Skip to content

System Logs in rConfig V8 Core

The System Log Viewer lets you read the framework-level and OS-level log files behind rConfig V8 Core from the web interface, without command-line access. After reading this page, you can open a log file, read stack traces, search for a specific error, and download logs for a support request.

These are the raw technical logs from the Laravel framework, PHP, and background workers, sitting below the application layer. They are distinct from the Application Log, which records operational and security events (device connections, task results, user sign-ins) in the database.

Use System Logs when something fails technically: a blank “white screen” or HTTP 500, an unexpected exception, a queue job that fails silently, or when rConfig support asks for a stack trace. Use the Application Log instead when investigating operational issues like a device that will not connect or a scheduled task that did not run.

The two logging systems serve different layers. Pick the one that matches the problem.

System Logs (this page)Application Log
Laravel framework errors and exceptionsBusiness logic events (device connections)
Full stack tracesUser authentication and authorization
PHP fatal errors and warningsConfiguration download outcomes
Queue worker processing detail and failuresScheduled task results
Database query errors with SQLSecurity audit trail
File-based, stored on the OS filesystemDatabase-driven, stored in tables

System Logs contain the deeper technical detail that would be impractical to store in database tables, so they complement the Application Log rather than replace it.

The Log Viewer reads Laravel’s log files directly from the filesystem.

  1. The framework and rConfig application write entries to files in /var/www/html/rconfig/storage/logs/.
  2. Logs are stored as dated files (for example laravel-2025-10-15.log) with automatic daily rotation.
  3. Each entry carries a timestamp, severity level, message, context, and a stack trace where applicable.
  4. The Log Viewer parses these files and presents them in a searchable, collapsible interface.
  5. Older files accumulate until they are deleted, either through the viewer or on the command line.
  • Formatted display with syntax highlighting for stack traces and error messages
  • Collapsible entries so large traces can be hidden until needed
  • Keyword search across the contents of a log file
  • Bulk delete of multiple log files to reclaim disk space
  • Download of a full log file for offline analysis or support requests
  • Severity filtering across emergency, alert, critical, error, warning, info, and debug
  • Admin role: only users with the admin role can open System Logs, because the contents are technically sensitive.
  • Read access for the web server to /var/www/html/rconfig/storage/logs/.
  1. Select System Logs from the main navigation menu.
  2. Review the list of available log files, ordered by date with the newest first.

Each entry in the list shows the filename (typically laravel-YYYY-MM-DD.log), the file size, the last modified date, and a three-dot actions menu.

  1. Click the log filename in the list.
  2. Read the entries, ordered by timestamp with the newest first. Each shows a timestamp with timezone, a colour-coded severity level, the message, any context, and a stack trace for exceptions.
  3. Click an entry to expand or collapse its detail.
  1. Open the log file you want to search.
  2. Enter a search term in the search field at the top of the viewer. Useful terms include error text (Connection refused, timeout, permission denied), class names (DeviceConnectionService, CommandExecutor), exception types (PDOException, ConnectionException), or a device hostname or IP.
  3. Read the highlighted matches. The viewer scrolls to the first match.
  1. Click the three-dot menu next to the filename.
  2. Select Download. The file downloads as plain text.

When raising a support request, download and attach the complete file rather than copying excerpts. The context around an error is often what makes it diagnosable.

To delete one file, click the three-dot menu next to the filename, select Delete, and confirm.

To delete several at once, tick the checkboxes next to the filenames, open the bulk action menu at the top of the list, select Delete selected, and confirm.

  1. Open today’s (most recent) log file.
  2. Scroll to entries near the time the error occurred.
  3. Look for error or critical severity entries. A PDOException points at database connectivity, a PermissionDeniedException at filesystem permissions, and a FatalErrorException often at PHP memory or timeout limits.
  4. Read the stack trace to find the code path that triggered the error, then copy the full message and trace for a support request.
  1. Open the log file for the time the job was scheduled.
  2. Search for the job class name (for example DeviceConnectionJob, ConfigBackupJob).
  3. Read the error entries containing that name to find the cause: a database deadlock under high concurrency, a timeout on a long-running operation, or a connection failure to an external system.
  4. Search for the job ID to see whether it was retried.
  1. Search for QueryException or PDOException.
  2. Read the SQL in the exception context. Look for long-running queries without indexes, deadlock errors, or connection pool exhaustion under load.
  3. Note the frequency of similar failures to tell a one-off from a systemic issue.

Confirm the directory exists and is readable.

  1. Verify the directory exists:
    Terminal window
    ls -la /var/www/html/rconfig/storage/logs/
  2. Fix ownership and permissions if needed:
    Terminal window
    sudo chown -R www-data:www-data /var/www/html/rconfig/storage/logs/
    sudo chmod -R 755 /var/www/html/rconfig/storage/logs/
  3. Check the logging channel is set:
    Terminal window
    grep LOG_CHANNEL /var/www/html/rconfig/.env
  4. Write a test entry:
    Terminal window
    php /var/www/html/rconfig/artisan tinker
    Log::info('Test log entry');
  5. Refresh the Log Viewer to confirm the test entry appears.

Confirm the user has the right role.

  1. Sign out and back in to refresh session permissions.
  2. Check the account has the admin role in the user management interface.
  3. If you should have admin access but do not, ask an existing administrator to update your role on the User Management page.

Check file sizes and the log level.

  1. Check current sizes:
    Terminal window
    ls -lh /var/www/html/rconfig/storage/logs/
  2. Check the configured log level:
    Terminal window
    grep LOG_LEVEL /var/www/html/rconfig/.env
  3. Set an appropriate level for production:
    Terminal window
    LOG_LEVEL=info
  4. Read recent entries to find the repeated error:
    Terminal window
    tail -100 /var/www/html/rconfig/storage/logs/laravel.log
  5. Fix the underlying error, then delete old files through the viewer or on the command line:
    Terminal window
    find /var/www/html/rconfig/storage/logs/ -name "laravel-*.log" -mtime +30 -delete

Large individual files are the usual cause.

  1. Check the size of today’s file:
    Terminal window
    ls -lh /var/www/html/rconfig/storage/logs/laravel-$(date +%Y-%m-%d).log
  2. If a file exceeds 100MB, download it and read it offline instead of in the browser.
  3. Raise the PHP memory limit if needed:
    Terminal window
    sudo nano /etc/php/8.2/fpm/php.ini
    Set memory_limit = 512M or higher.
  4. Restart PHP-FPM:
    Terminal window
    sudo systemctl restart php8.2-fpm
  5. Delete old files to shorten the list.
SeverityWhen to useTypical contents
emergencySystem unusableCritical application crashes
alertImmediate action requiredDatabase unavailable, service failure
criticalCritical conditionsApplication component failures
errorError conditionsExceptions, failed operations
warningWarning conditionsDeprecated feature usage, nearing limits
infoInformationalRoutine operations, successful tasks
debugDebug-level messagesDetailed execution flow, variable dumps
ExceptionTypical causeWhere to investigate
PDOExceptionDatabase connectivity or query issuesDatabase configuration, network
ConnectionExceptionDevice or service connection failuresFirewall rules, device availability
TimeoutExceptionOperation exceeded its time limitSystem resources, network latency
PermissionDeniedExceptionFilesystem or application permissionsDirectory ownership, file permissions
FatalErrorExceptionPHP fatal error (memory, syntax)PHP configuration, code issues
ValidationExceptionInvalid input dataInput validation logic, data format
Terminal window
tail -f /var/www/html/rconfig/storage/logs/laravel.log
grep -i "exception" /var/www/html/rconfig/storage/logs/laravel-$(date +%Y-%m-%d).log
grep "ERROR" /var/www/html/rconfig/storage/logs/laravel.log | wc -l
find /var/www/html/rconfig/storage/logs/ -name "laravel-*.log" -mtime +30 -ls
du -sh /var/www/html/rconfig/storage/logs/