Server

Logs

One viewer for every log that matters, from nginx to your Laravel app, with live follow and the restart button next to the log that told you something was wrong.

Where to find logs

  • Logs (sidebar): server logs: nginx access and error, each PHP-FPM version, MySQL, Supervisor, Certbot, syslog, auth/SSH, fail2ban, FTP and provisioning, plus every domain's own access and error log.
  • Project → Logs: that project's application logs (every .log in storage/logs, with laravel.log opened first), its domains' access and error logs, its queue workers, and cron jobs that keep an output log.

Using the viewer

  • Last 100 – 5000 lines are loaded from the end of the file.
  • Follow live streams new lines every 2 seconds. If the file is rotated or truncated, the viewer starts again from the new end. Scroll up to pause auto-scrolling, then use Jump to latest to resume.
  • Filter lines searches and highlights. For Laravel logs, entries are grouped with their stack traces (click the arrow to expand) and can be narrowed to Warnings+ or Errors, with counts.
  • nginx lines are coloured by status: 4xx amber, 5xx red. Error keywords are highlighted in other logs.
  • Download saves up to the last 50 MB.
  • Restart: logs that belong to a service (nginx and every domain log, PHP-FPM, MySQL, Supervisor, fail2ban) or a queue worker have a restart button. For nginx and PHP-FPM the configuration is tested first; if the test fails nothing is restarted and you see the error, so a typo can't take every site down.
  • Clear (eraser icon) frees disk space. It works on any log. The file is emptied in place rather than deleted, because services keep the file open and deleting it wouldn't free the space until they restart. Tick Also delete rotated copies to remove name.log.1, name.log.2.gz…, which is usually where the space goes; the header shows how much they use. Old application log files (e.g. dated laravel-YYYY-MM-DD.log) can also be deleted outright.

Only known log files can be opened. The panel never accepts a free-form path. Application logs are read as the deploy user, so a symlink inside storage/logs can't expose files the deploy user couldn't read anyway.