HTTP request logger middleware for Laravel
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Laravel Request Logger

Request and Response Logger for Laravel

Insiperd by Morgan - Node HTTP request logger

Latest Stable Version Total Downloads Latest Unstable Version License Analytics



Add prettus/laravel-request-logger to the "require" section of your composer.json file.

	"prettus/laravel-request-logger": "1.2.*"

Run composer update to get the latest version of the package.


Run composer require prettus/laravel-request-logger direct in your terminal


In your config/app.php add Prettus\RequestLogger\Providers\LoggerServiceProvider::class to the end of the providers array:

'providers' => array(

Publish Configuration

php artisan vendor:publish --provider="Prettus\RequestLogger\Providers\LoggerServiceProvider"


In your config/request-logger.php file, you can change configuration for logger

 'logger' => [
    'enabled'   => true,
    'handlers'  => ['Prettus\RequestLogger\Handler\HttpLoggerHandler'],
    'file'      => storage_path("logs/http.log"),
    'level'     => 'info',
    'format'    => 'common'
Property Type Default Value Description
enabled boolean true Enable or disable log http
handlers array ['Prettus\RequestLogger\Handler\HttpLoggerHandler'] Instance of the Monolog\Handler\HandlerInterface. (See more)[]
file string storage_path("logs/http.log") If you are using Prettus\RequestLogger\Handler\HttpLoggerHandler, you can set the file will be saved walk logs
level string info Level logger write: [notice, info, debug, emergency, alert, critical, error, warning]
format string common Format for the log record

Format Interpolation


Format Description Exemple
{method} Get the request method. PUT
{root} Get the root URL for the application. http://prettus.local
{url} Get the URL (no query string) for the request. http://prettus.local/users
{full-url} Get the full URL for the request. http://prettus.local/users?search=lorem
{path} Get the current path info for the request. /users
{decoded-path} Get the current encoded path info for the request. /users
{remote-addr} Returns the client IP address.
{format} Gets the format associated with the mime type. html
{scheme} Gets the request's scheme. http
{port} Returns the port on which the request is made. 80
{query-string} Generates the normalized query string for the Request. ?search=lorem
{remote-user} Returns the user.
{referer} The page address (if any) by which the user agent to the current page
{user-agent} Get user agent Mozilla/5.0 (Windows NT 6.3; WOW64)
{date} Current Date 2015-04-05 14:00:00
{content} Get the response content. {json:response}
{content-length} Get the content length in bytes 4863
{response-time} Response time in ms 231
{status} Http status code 200
{http-version} Http protocol version 1.1
{server[KEY]} $_SERVER Server and execution environment information (See more)[]
{req[HEADER]} Request Header values
{res[HEADER]} Response Header values

Default formats

Name Format
combined {remote-addr} - {remote-user} [{date}] "{method} {url} HTTP/{http-version}" {status} {content-length} "{referer}" "{user-agent}"
common {remote-addr} - {remote-user} [{date}] "{method} {url} HTTP/{http-version}" {status} {content-length}
dev {method} {url} {status} {response-time} ms - {content-length}
short {remote-addr} {remote-user} {method} {url} HTTP/{http-version} {status} {content-length} - {response-time} ms
tiny {method} {url} {status} {content-length} - {response-time} ms


{method} {full-url}

[2015-04-03 00:00:00] local.INFO: GET http://prettus.local/user/1?param=lorem ["REQUEST"]

{method} {full-url} {remote-addr} {port}

[2015-04-03 00:00:00] local.INFO: GET http://prettus.local/user/1?param=lorem 80 ["REQUEST"]

{method} {root} {url} {full-url} {path} {decoded-path} {remote-addr} {format} {scheme} {port} {query-string}

[2015-04-03 00:00:00] local.INFO: GET http://prettus.local http://prettus.local/user/1 http://prettus.local/user/1?param=lorem user/1 user/1 html http 80 param=lorem ["REQUEST"]

[{status}] HTTP:{http-version} {content}

[2015-04-03 00:00:00] local.INFO: [200] HTTP:1.1 {"id":1,"name":"Anderson Andrade", "email":""} ["RESPONSE"]