PHP code example of aaronsaray / phproblemlogger

1. Go to this page and download the library: Download aaronsaray/phproblemlogger library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

aaronsaray / phproblemlogger example snippets


use AaronSaray\PHProblemLogger\Handler as Handler;
use AaronSaray\PHProblemLogger\Handler as HandlerFilter;

$monolog = $monolog; // this is an instance of a PSR-3 logger interface

$problemHandler = new Handler($monolog);
$problemHandler
    ->server(function(array $payload) {
        return $payload;
    })
    ->cookie(HandlerFilter::all());

$handler->server(function(array $payload) {
  return php_sapi_name() != 'cli' ? $payload : null;
});

$handler->post(function(array $payload) {
  if (array_key_exists('cc_num', $payload)) {
    $payload['cc_num'] = str_pad(substr($payload['cc_num'], -4), strlen($payload['cc_num']), '*', STR_PAD_LEFT);
  }
  return $payload;
});

use AaronSaray\PHProblemLogger\Handler as HandlerFilter;

$handler->session(HandlerFilter::all());

if (someFunctionIsTrue()) {
  $handler->session(HandlerFilter::none());
}

$handler->application(function(array $payload) {
  if (isset($_SESSION['user'])) {
    $payload['user'] = $_SESSION['user'];
  }
  return $payload;
});

class MyUserErrorFilter
{
  protected $authenticationProvider;
  
  public function __construct($authenticationProvider)
  { 
    $this->authenticationProvider = $authenticationProvider;
  }
  
  public function __invoke(array $payload)
  {
    if ($this->authenticationProvider->isLoggedIn()) {
       $payload['authenticationInfo'] = $this->authenticationProvider->getAuthenticationInfo();
    }
    return $payload;
  }
}

$handler->application(new MyUserErrorFilter($yourAuthenticationProviderInstance));

$handler->application(function(array $payload) {
  $payload['memory_usage'] = memory_get_usage();
  $payload['pid'] = getmypid();
  $payload['resource_usage'] = getrusage(); 
  return $payload;
});


try {
  somethingCausesException();
}
catch (\Exception $e) {
  // some custom programming here
  $handler->handleException($e);
}