24 lines
570 B
PHP
24 lines
570 B
PHP
<?php
|
|
namespace App\Traits;
|
|
|
|
use App\Libraries\CustomTraceLogger;
|
|
|
|
trait Traceable
|
|
{
|
|
public function __call($method, $params)
|
|
{
|
|
$logger = new CustomTraceLogger();
|
|
$reflector = new \ReflectionClass($this);
|
|
$function = $reflector->getMethod($method);
|
|
$line = $function->getStartLine();
|
|
|
|
$logger->log('IN', get_class($this) . "::$method", $line, $params);
|
|
|
|
$result = $function->invokeArgs($this, $params);
|
|
|
|
$logger->log('OUT', get_class($this) . "::$method", $line, $result);
|
|
|
|
return $result;
|
|
}
|
|
}
|