Skip to main content

Laravel – Errors and Logging

Laravel – Errors and Logging

This chapter deals with errors and logging in Laravel projects and how to work on them.

Errors

A project while underway, is borne to have a few errors. Errors and exception handling is already configured for you when you start a new Laravel project. Normally, in a local environment we need to see errors for debugging purposes. We need to hide these errors from users in production environment. This can be achieved with the variable APP_DEBUG set in the environment file .env stored at the root of the application.
For local environment the value of APP_DEBUG should be true but for production it needs to be set to false to hide errors.
Note − After changing the APP_DEBUG variable, you should restart the Laravel server.

Logging

Logging is an important mechanism by which system can log errors that are generated. It is useful to improve the reliability of the system. Laravel supports different logging modes like single, daily, syslog, and errorlog modes. You can set these modes in config/app.php file.
You can see the generated log entries in storage/logs/laravel.log file.

Creating a custom log file

To create a custom log file, you should take the following steps −
Step 1 − In this step, you should create a custom log file in Laravel using the Log façade. The façade can be declared by simply using the use keyword in controller. It is shown as follows −
Here, the function name FuncName will help in creating logs by sending parameter Log::info within the body of function.
Step 2 − If there is a need to save this file separately, you should do it at this step. For this, you can use a demo function like useDailyFiles() just before the inclusion of log line as shown here −
All the logs will be tracked in file debug.log. The errors noted in the logs will be useful for development.
Step 3 − In this step, you deal with the logger in Laravel, which includes various types apart from Log::info mentioned in the example given.
The types of errors which can be included in the log files are: emergency, alert, critical, error, warning, notice, info and debug.
Based on the logs created, the improvements of web application are considered

Popular posts from this blog

What is Lumen?

What is Lumen? Lumen  is PHP micro-framework that built on Laravel’s top components.It is created by Taylor Otwell. It is perfect option for building Laravel based micro-services and fast REST API’s. It’s one of the fastest micro-frameworks available. You can install Lumen using composer by running below command 1 composer create - project -- prefer - dist laravel / lumen blog

Laravel – Response

Laravel – Response A web application responds to a user’s request in many ways depending on many parameters. This chapter explains you in detail about responses in Laravel web applications. Basic Response Laravel provides several different ways to return response. Response can be sent either from route or from controller. The basic response that can be sent is simple string as shown in the below sample code. This string will be automatically converted to appropriate HTTP response. Example Step 1  − Add the following code to  app/Http/routes.php  file. app/Http/routes.php 1 2 3 Route :: get ( '/basic_response' , function ( ) {    return 'Hello World' ; } ) ; Step 2  −  Visit  the following URL to test the basic response. 1 http : //localhost:8000/basic_response Step 3  − The output will appear as shown in the following image. Attaching Headers The response can be attached t...

Which template engine Laravel use ?

Which template engine Laravel use ? Laravel uses Blade Templating Engine. Blade is the simple, yet powerful templating engine provided with Laravel. Unlike other popular PHP templating engines, Blade does not restrict you from using plain PHP code in your views. In fact, all Blade views are compiled into plain PHP code and cached until they are modified, meaning Blade adds essentially zero overhead to your application. Blade view files use the .blade.php file extension and are typically stored in the resources/views directory.