# Find the error in the log

Laravel writes every error to a file. The last one usually says exactly what's wrong.

When a page shows a 500 error or stays blank, the reason is in `storage/logs/`, in `laravel.log` or, when the log is kept per day, in the newest `laravel-` file.

<Tabs>
<Tab title="With SSH">
```bash
cd /var/www/your-app
tail -n 60 storage/logs/laravel.log
```

The error you want is the last line that starts with a date.
</Tab>
<Tab title="With a hosting panel">
1. Open the File Manager and go to your site's `storage/logs/` folder.
2. Open the newest log file and scroll to the end.
3. Copy the last error, from the line with the date down to the first few lines below it.
</Tab>
</Tabs>

## Reading an error

```
[2026-11-02 19:29:51] production.ERROR: file_put_contents(/var/www/your-app/storage/framework/cache/data/ac/9c/…): Failed to open stream: No such file or directory
#0 …/Illuminate/Filesystem/Filesystem.php(204)
#1 …/Illuminate/Cache/FileStore.php(93)
```

- **The time and the level.** `production.ERROR` means a real error on your live site.
- **The message.** Here, Laravel couldn't write a cache file. That one is in [Common errors](https://justdocs.qdev.tech/docs/help/fixing-problems/common-errors).
- **The lines starting with `#`.** Where it happened. The first few are enough for us.

<Warning>
**Remove secrets before you send a log.** Logs can hold email addresses, tokens and keys. Delete keys, passwords and tokens from anything you share.
</Warning>
