For Oh Dear! , we’re using Laravel Telescope as a convenient way of tracking/displaying exceptions, runs, …
It stores its exceptions in the database, so you can easily view them again. It stores those in a TEXT field in MySQL, which is limited to 2^16 bytes, or 65536 bytes. Some of our exceptions tend to be pretty long, and they were hitting this limit.
The fix is to transfer the column from a TEXT to a LONGTEXT instead.
MariaDB [ohdear]> ALTER TABLE telescope_entries MODIFY content LONGTEXT;
You now have 2^32 bytes for storing data, or 4GB.
The table will now show it has a LONGTEXT field instead.
MariaDB [ohdear]> describe telescope_entries;
+-------------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+---------------------+------+-----+---------+----------------+
| sequence | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| uuid | char(36) | NO | UNI | NULL | |
| batch_id | char(36) | NO | MUL | NULL | |
| family_hash | varchar(191) | YES | MUL | NULL | |
| should_display_on_index | tinyint(1) | NO | | 1 | |
| type | varchar(20) | NO | MUL | NULL | |
| content | longtext | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
+-------------------------+---------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
Your exceptions/stacktraces should now be logged properly.