Skip to content

ssbrandsma/laravel-request-logger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Installation

Composer

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.

or

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

Laravel

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

'providers' => array(
    ...,
    Prettus\RequestLogger\Providers\LoggerServiceProvider::class,
),

Publish Configuration

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

Configuration

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)[https://github.com/Seldaek/monolog#handlers]
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

Variables

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. 192.168.10.1
{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)[http://php.net/manual/reserved.variables.server.php]
{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

Examples

{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 192.168.10.1 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 192.168.10.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":"[email protected]"} ["RESPONSE"]