When creating, developing and supporting an Laravel apps, it is important to think about bug tracking and analysis well before the first line of code is written. Laravel bug tracking brings benefits on two levels:
- Improves programming workflow, shows more error data than the default error handling in Laravel
- Enables you to track errors that occur among clients or in background tasks
It is impossible to develop good and secure software in Laravel without a professional approach to error handling.
How to show errors in Laravel?
To enable the display of errors on the screen, it is necessary to set APP_DEBUG as true in .env or config/app.php file.
However, this is not a good solution. Firstly, showing errors can be activated solely in development or local versions. You should never show errors in applications to which users have access. Not only does this not look professional, but it also creates a very high risk for the application. The person with technical knowledge will be able to analyse the structure of the application on the basis of the information from the errors, which may enable a loophole to be found.
How to track errors in Laravel?
There are several methods available for tracking errors, but we will focus on the three essential ones. Saving errors to files, to a database and using tools like Streply that collect and save information to an external database. In this article, I will present 3 ways to handle errors in Laravel and the pros and cons of these solutions.
Laravel error log to files
By default Laravel saves errors and logs in files. We won't cover the advantages of this solution, because there is really only one: it is the fastest to implement. It is the technologically easiest solution, but unfortunately the least convenient. Searching through dozens of large files is very inefficient and finding the bug you are looking for in the files, or extracting something specific from this information, is very difficult. Another benefit is that the logs can be easily transferred, you just copy the files or the whole folder and you are done.
Laravel error log to database
Another option, more convenient for analysis and review, is to save errors and logs in a database. Reviewing, searching or sorting logs in the database is much more convenient and offers the developer many more options. The downside, unfortunately, a very serious one, of such a solution is that in the event of certain types of failure, access to the database may not be available. This will make it harder, or in extreme cases even impossible, to find and fix the problem.
Laravel error tracking
The last solution we will discuss in this article is to use an external service that will send a request with all available error information via an API.
This solution has several advantages:
- Errors and logs are collected in an external database, completely independent of the application. A failure of the application or server will not hinder, let alone prevent, access to the logs.
- Applications of this kind have a number of useful functions and capabilities that would take a very long time to program on one's own.
- In addition to simply collecting or analysing errors, these types of applications offer very useful options, such as email or messenger notifications when an error matching certain criteria occurs.
The drawback of such a solution is that in very rare situations, e.g. a failure on the server, a request with an error may not be sent. However, fortunately, there are measures to prevent such situations.
As you can clearly see, there are many possibilities. I have only mentioned the most popular and best ones in this article. Judging objectively, the best form when it comes to tracking errors in Laravel applications is to use an external service. Not only does this increase security in the event of a malfunction, as we are certain to have access to the logs, but we also get access to a number of functions that would have taken weeks to program on our own.
Sign up for an account with Streply and see what benefits our application offers.
Are you ready to level up your PHP software?
Create an account, test Streply entirely free for 30 days, and then pay only 9$ per month.
Try for free in 30 seconds