Most web applications have specific mechanisms for error handling. Using these, they track errors and exceptions, and log them to analyze the performance. In this chapter, you will read about error handling in Laravel applications.
Before proceeding further to learn in detail about error handling in Laravel, please note the following important points −
For any new project, Laravel logs errors and exceptions in theAppExceptionsHandlerclass, by default. They are then submitted back to the user for analysis.
When your Laravel application is set in debug mode, detailed error messages with stack traces will be shown on every error that occurs within your web application.
By default, debug mode is set tofalseand you can change it totrue. This enables the user to track all errors with stack traces.
The configuration of Laravel project includes thedebugoption which determines how much information about an error is to be displayed to the user. By default in a web application, the option is set to the value defined in the environment variables of the.envfile.
The value is set totruein a local development environment and is set tofalsein a production environment.
If the value is set totruein a production environment, the risk of sharing sensitive information with the end users is higher.
Logging the errors in a web application helps to track them and in planning a strategy for removing them. The log information can be configured in the web application inconfig/app.phpfile. Please note the following points while dealing with Error Log in Laravel −
Laravel uses monolog PHP logging library.
The logging parameters used for error tracking aresingle, daily, sysloganderrorlog.
For example, if you wish to log the error messages in log files, you should set the log value in your app configuration todailyas shown in the command below −
'log' => env('APP_LOG',’daily’),
If thedailylog mode is taken as the parameter, Laravel takes error log for a period of5 days, by default. If you wish to change the maximum number of log files, you have to set the parameter oflog_max_filesin the configuration file to a desired value.
‘log_max_files’ => 25;
As Laravel uses monolog PHP logging library, there are various parameters used for analyzing severity levels. Various severity levels that are available areerror, critical, alertandemergency messages. You can set the severity level as shown in the command below −
'log_level' => env('APP_LOG_LEVEL', 'error')
The above is the detailed content of Laravel - Error Handling. For more information, please follow other related articles on the PHP Chinese website!