2017 © Pedro Peláez
 

project laravel-exception-logger

Unified Exception Logging System across Laravel Applications

image

johnturingan/laravel-exception-logger

Unified Exception Logging System across Laravel Applications

  • Tuesday, June 19, 2018
  • by redgreenyellow
  • Repository
  • 2 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Laravel Exception Logger

Its an Exception Logging Library made for Laravel Application, (*1)

Installation

Run the following command, (*2)

$ composer require johnturingan/laravel-exception-logger

or modify your composer.json like below, (*3)

"require": {
    ...
    "johnturingan/laravel-exception-logger": "*",
    ...
}

Then run $ composer install or $ composer update, whichever you prefer., (*4)

Laravel Installation

You need to register the package by going to config/app.php file then add it to the list of providers., (*5)

'providers' => [
    ...
    Snp\Logger\Providers\LaravelProvider::class
    ...
]

or in Lumen Application, (*6)

$app->register(Snp\Logger\Providers\LumenProvider::class);

Then publish it by using this command, (*7)

$ php artisan vendor:publish --provider="Snp\Logger\Providers\LaravelProvider::class"

Keep in mind that config may vary from application to application, it is a must that you check your config file config/logging.php and replace the values that is suitable to the application who will use it., (*8)

Exceptions

There are several ways on how to use this package but it is highly recommended that you follow implementations enumerated below:, (*9)

  1. It is highly recommend that you extend your custom exception from, (*10)

    Snp\Logger\Exceptions\Exception, (*11)

    Then set corresponding values info it like domain, reference_id, etc.., (*12)

    If you extend your exception from Snp\Logger\Exceptions\Exception class, it will automatically log it in Graylog or in storage logs if configured in config/logging.php, (*13)

  2. Another option is to use it in App\Exceptions\Handler file. Here's how to do it:, (*14)

    • Extend the App\Exceptions\Handler class from Snp\Logger\Exceptions\Exception
    • In report() method, add "app_fault" property in Exception $e to determine which application throws an Error.
    • Then create an Snp\Logger\Info object and assign it to "log_info" property in Exception $e then pass the Exception to report() method., (*15)

      Below is an example:, (*16)

      public function report(Exception $e)
      {
      
          $e->{'app_fault'} = 'API-CMS';
      
          $e->{'log_info'} = (new Info())
              ->setsetReferenceId('domain.com')
              ->setDomain('domain.com')
              ->setSessionId('hashed_session')
              ->setLanguageCode('en')
              ->setMemberId(1)
              ->setUrl('/')
              ->setIp('127.0.0.1')
              ;
      
          parent::report($e);
      }
      

      Using this option, you can manage all exception easily because its in single place only., (*17)

LOG SAMPLE OUTPUT

If all the properties has been filled up accordingly, below is the expected log output inside storate/logs/laravel.log, (*18)

[2018-03-21 07:14:56] production.ERROR: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://ws.aqzbouat.com/announcementWSs.asmx?WSDL'
{
   "app_fault":"API-SOAP",
   "message":"An error occured",
   "code":0,
   "file":"/src/Exceptions/Handler.php",
   "line":63,
   "reference_id":"3f7577e4380470f232f188565957f233d7cd69c3",
   "platform":"desktop",
   "session_id":"AA2B6A84-0DAC-420F-8D23-36DD3A99266B",
   "member_id":"12345",
   "country_code":PH,
   "language_code":"zh-hans",
   "url":"api/v2/getuser",
   "domain":"domain.com",
   "ip":"127.0.0.1",
   "request_data":{
      "operatorId":"1"
   },
   "headers":{
      "cookie":[
       "e_log_session=3f7577e4380470f232f188565957f233d7cd69c3"
      ],
      "accept-encoding":[
         "gzip, deflate"
      ],
      "referer":[
         "http://domain.com/"
      ],
      ......
   }
}

The Versions

19/06 2018

dev-master

9999999-dev

Unified Exception Logging System across Laravel Applications

  Sources   Download

MIT

The Requires

 

laravel logging

19/06 2018

1.0.1

1.0.1.0

Unified Exception Logging System across Laravel Applications

  Sources   Download

MIT

The Requires

 

laravel logging