nhance/app/Traits/Traceable.php
2025-07-09 10:21:06 +05:30

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;
}
}